= WeeChat ChangeLog :author: Sébastien Helleu :email: flashcode@flashtux.org :lang: en :toc: left :docinfo1: This document lists all changes for each version (the latest formatted version of this document can be found https://weechat.org/files/changelog/ChangeLog-devel.html[here]). For a list of important changes that require manual action, please look at https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] (file _ReleaseNotes.adoc_ in sources). [[v2.2]] == Version 2.2 (under dev) New features:: * core: allow merge of buffers by name in command /buffer (issue #1108, issue #1159) * api: add function string_format_size in scripting API * 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) * xfer: add option xfer.network.send_ack (issue #1171) Bug fixes:: * 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) * 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 * php: fix return code of functions config_write_option and config_write_line * php: fix memory leak in 72 functions returning allocated strings * 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 [[v2.1]] == Version 2.1 (2018-03-18) 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) [[v2.0.1]] == Version 2.0.1 (2017-12-20) Bug fixes:: * python: fix arguments status/gnutls_rc/sock in hook_connect() callback * python: fix argument fd in hook_fd() callback [[v2.0]] == Version 2.0 (2017-12-03) 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) (issue #584) * 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 [[v1.9.1]] == Version 1.9.1 (2017-09-23) 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) [[v1.9]] == Version 1.9 (2017-06-25) 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 kbd:[F1]/kbd:[F2], kbd:[Alt+F1]/kbd:[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 kbd:[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) [[v1.8]] == Version 1.8 (2017-05-13) 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) [[v1.7.1]] == Version 1.7.1 (2017-04-22) Bug fixes:: * irc: fix parsing of DCC filename (CVE-2017-8073) [[v1.7]] == Version 1.7 (2017-01-15) 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 [[v1.6]] == Version 1.6 (2016-10-02) New features:: * core: add optional argument "lowest", "highest" or level mask in command /input hotlist_clear * core: add option "cycle" in command /buffer * core, irc, xfer: display more information on memory allocation errors (issue #573) * api: add "extra" argument to evaluate extra variables in function string_eval_expression() (issue #534) * api: remove functions printf_date() and printf_tags() * irc: rename server options "default_msg_{kick|part|quit}" to "msg_{kick|part|quit}", evaluate them * relay: add option relay.network.allow_empty_password (issue #735) * relay: allow escape of comma in command "init" (weechat protocol) (issue #730) * trigger: add support for one-time triggers (issue #399, issue #509) Bug fixes:: * core, irc, xfer: refresh domain name and name server addresses before connection to servers (fix connection to servers after suspend mode) (issue #771) * api: fix return of function string_match() when there are multiple masks in the string (issue #812) * api: fix crash in function network_connect_to() if address is NULL * api: fix connection to servers with hook_connect() on Windows 10 with Windows subsystem for Linux (issue #770) * api: fix crash in function string_split_command() when the separator is not a semicolon (issue #731) * irc: fix socket leak in connection to server (issue #358, issue #801) * irc: fix display of service notice mask (message 008) (issue #429) * irc: fix NULL pointer dereference in 734 command callback (issue #738) * relay: return an empty hdata when the requested hdata or pointer is not found (issue #767) * xfer: fix crash on DCC send if option xfer.file.auto_accept_nicks is set (issue #781) Documentation:: * switch to asciidoctor to build docs and man page (issue #722) Build:: * python: add detection of Python 3.5 [[v1.5]] == Version 1.5 (2016-05-01) New features:: * core: evaluate content of option "weechat.look.item_time_format" (issue #791) * core: change default value of option weechat.look.nick_color_hash to "djb2" * core: move nick coloring from irc plugin to core, move options irc.look.nick_color_force, irc.look.nick_color_hash and irc.look.nick_color_stop_chars to core, add info "nick_color" and "nick_color_name", deprecate info "irc_nick_color" and "irc_color_name" (issue #262) * core: move irc bar item "away" to core, move options irc.look.item_away_message and irc.color.item_away to core (issue #692) * api: add support of functions in hook_process * api: add pointer in callbacks used in scripting API (issue #406) * irc: add option irc.network.sasl_fail_unavailable (issue #600, issue #697) * irc: add multiple targets and support of "-server" in command /ctcp (issue #204, issue #493) * trigger: add "recover" in default triggers cmd_pass/msg_auth, and "regain" in default trigger "msg_auth" (issue #511) Internationalization:: * add Portuguese translations Bug fixes:: * core: fix nick coloring when stop chars and a forced color are used: first remove chars then look for forced color * core: check that pointers received in arguments are not NULL in buffers and windows functions * core: fix truncation of buffer names in hotlist (issue #668) * core: fix update of window title under Tmux (issue #685) * api: fix number of arguments returned by function string_split() when keep_eol is 2 and the string ends with separators * irc: fix first message displayed in raw buffer when the message is modified by a modifier (issue #719) * irc: add missing completion "*" for target in command /msg * irc: fix /msg command with multiple targets including "*" * lua: fix crash when a lua function doesn't return a value and a string was expected (issue #718) * relay: do not execute any command received in a PRIVMSG message from an irc relay client (issue #699) * relay: fix the max number of clients connected on a port, allow value 0 for "no limit" (issue #669) * relay: fix decoding of multiple frames in a single websocket message, send PONG on PING received in a websocket frame (issue #675) * relay: fix command "input" received from clients with only spaces in content of message (weechat protocol) (issue #663) * script: force refresh of scripts buffer after download of scripts list (issue #693) * xfer: fix DCC file received when the terminal is resized (issue #677, issue #680) Build:: * python: fix detection of Python shared libraries (issue #676) * ruby: add detection of Ruby 2.3 (issue #698) [[v1.4]] == Version 1.4 (2016-01-10) New features:: * core: add a parent name in options, display inherited values if null in /set output, add option weechat.color.chat_value_null (issue #629) * core: add tag "term_warning" in warnings about wrong $TERM on startup * core: add option weechat.look.paste_auto_add_newline (issue #543) * core: display a more explicit error when a filter fails to be added (issue #522) * api: add function string_hex_dump() * api: add argument "length" in function utf8_is_valid() * alias: display completion in /alias list (issue #518) * fifo: add /fifo command * irc: track real names using extended-join and WHO (issue #351) * irc: add support of SNI (Server Name Indication) in SSL connection to IRC server (issue #620) * irc: add support of "cap-notify" capability (issue #182, issue #477) * irc: add command /cap (issue #8) * irc: add hex dump of messages in raw buffer when debug is enabled for irc plugin (level 2 or more) * irc: evaluate content of server option "addresses" * irc: move option irc.network.alternate_nick into servers (irc.server.xxx.nicks_alternate) (issue #633) * irc: use current channel and current server channels first in completions "irc_server_channels" and "irc_channels" (task #12923, issue #260, issue #392) * logger: display system error when the log file can not be written (issue #541) * relay: add option relay.irc.backlog_since_last_message (issue #347) * script: add option script.scripts.download_timeout * script: add completion with languages and extensions, support search by language/extension in /script search Bug fixes:: * core: fix execution of empty command name ("/" and "/ " are not valid commands) * core: fix memory leak when using multiple "-d" or "-r" in command line arguments * core: don't complain any more about "tmux" and "tmux-256color" $TERM values when WeeChat is running under Tmux (issue #519) * core: fix truncated messages after a word with a length of zero on screen (for example a zero width space: U+200B) (bug #40985, issue #502) * api: fix handle of invalid escape in function string_convert_escaped_chars() * alias: do not allow slashes and spaces in alias name (issue #646) * irc: fix channel forwarding when option irc.look.buffer_open_before_{autojoin|join} is on (issue #643) * irc: add a missing colon before the password in PASS message, if the password has spaces or begins with a colon (issue #602) * irc: fix charset decoding in incoming private messages (issue #520) * irc: display the arrow before server name in raw buffer * irc: fix display of messages sent to server in raw buffer * irc: fix display of invalid UTF-8 chars in raw buffer * relay: display the arrow before client id and protocol in raw buffer * ruby: fix load of scripts requiring "uri" (issue #433) Documentation:: * add Czech man page and quickstart guide (issue #490) Tests:: * unit: add a test to check if all plugins are loaded * unit: fix locale used to execute tests (issue #631) Build:: * core: add scripts version.sh and build-debian.sh, separate stable from devel Debian packaging * ruby: fix Ruby detection when pkg-config is not installed [[v1.3]] == Version 1.3 (2015-08-16) New features:: * core: add completion "colors" (issue #481) * core: start/stop search in buffer at current scroll position by default, add key kbd:[Ctrl+q] to stop search and reset scroll (issue #76, issue #393) * core: add option weechat.look.key_grab_delay to set the default delay when grabbing a key with kbd:[Alt+k] * core: add option weechat.look.confirm_upgrade (issue #463) * core: add signal "signal_sighup" * core: allow kbd:[Ctrl+c] to exit WeeChat when the passphrase is asked on startup (issue #452) * core: allow pointer as list name in evaluation of hdata (issue #450) * api: add support of evaluated sub-strings and current date/time in function string_eval_expression() and command /eval * api: add function string_eval_path_home() * alias: add options "add", "addcompletion" and "del" in command /alias, remove command /unalias (issue #458) * irc: add option irc.network.channel_encode (issue #218, issue #482) * irc: add option irc.color.topic_current (issue #475) * irc: evaluate content of server option "nicks" * logger: evaluate content of option logger.file.path (issue #388) * script: rename option script.scripts.dir to script.scripts.path, evaluate content of option (issue #388) * relay: display value of HTTP header "X-Real-IP" for websocket connections (issue #440) * xfer: evaluate content of options xfer.file.download_path and xfer.file.upload_path (issue #388) Bug fixes:: * core: flush stdout/stderr after sending text directly on them (fix corrupted data sent to hook_process() callback) (issue #442) * core: allow execution of command "/input return" on a buffer which is not displayed in a window * core: allow jump from current to previous buffer with default keys kbd:[Alt+j], kbd:[01..99] (issue #466) * core: fix crash if a file descriptor used in hook_fd() is too high (> 1024 on Linux/BSD) (issue #465) * core: fix display of invalid UTF-8 chars in bars * core: fix bar item "scroll" after /buffer clear (issue #448) * core: fix display of time in bare display when option weechat.look.buffer_time_format is set to empty string (issue #441) * api: add missing function infolist_search_var() in script API (issue #484) * api: add missing function hook_completion_get_string() in script API (issue #484) * api: fix type of value returned by functions strcasestr, utf8_prev_char, utf8_next_char, utf8_add_offset and util_get_time_string * api: fix type of value returned by function strcasestr * fifo: fix send error on Cygwin when something is received in the pipe (issue #436) * irc: fix update of lag item when the server lag changes * irc: do not allow command /query with a channel name (issue #459) * irc: decode/encode only text in IRC messages and not the headers (bug #29886, issue #218, issue #451) * irc: fix crash with commands /allchan, /allpv and /allserv if the executed command closes buffers (issue #445) * irc: do not open auto-joined channels buffers when option "-nojoin" is used in command /connect (even if the option irc.look.buffer_open_before_autojoin is on) * irc: fix errors displayed on WHOX messages received (issue #376) * xfer: fix crash if the DCC file socket number is too high (> 1024 on Linux/BSD) (issue #465) * xfer: fix parsing of DCC chat messages (handle "\r\n" at the end of messages) (issue #425, issue #426) Documentation:: * replace PREFIX with CMAKE_INSTALL_PREFIX in cmake instructions (issue #354) Build:: * lua: add detection of Lua 5.3 * ruby: add detection of Ruby 2.2 [[v1.2]] == Version 1.2 (2015-05-10) New features:: * core: add signals "signal_sigterm" and "signal_sigquit" (issue #114) * core: use environment variable WEECHAT_HOME on startup (issue #391) * core: add options weechat.look.quote_{nick_prefix|nick_suffix|time_format} to customize quoted messages in cursor mode (issue #403) * core: add a welcome message on first WeeChat run (issue #318) * core: add options weechat.look.word_chars_{highlight|input} (issue #55, task #9459) * core: remove WeeChat version from config files (issue #407) * core: display a warning on startup if the locale can not be set (issue #373) * core: allow "*" as plugin name in command /plugin reload to reload all plugins with options * core: add option "-s" in command /eval to split expression before evaluating it (no more split by default) (issue #324) * core: add priority in plugins to initialize them in order * api: add support of environment variables in function string_eval_expression() and command /eval * api: add support of full color option name in functions color() and string_eval_expression() and in command /eval * api: add "_chat_line" (line pointer) in hashtable of hook_focus * irc: add support of "account-notify" capability (issue #11, issue #246) * irc: add support of "ecdsa-nist256p-challenge" SASL mechanism (issue #251) * irc: display a warning when the option irc.look.display_away is set to "channel" * irc: optimize search of a nick in nicklist (up to 3x faster) * irc: add support of SHA-256 and SHA-512 algorithms in server option "ssl_fingerprint" (issue #281) * irc: add option "-noswitch" in command /query (issue #394) * irc: format message 008 (RPL_SNOMASK) (issue #144) * irc: remove server "freenode" from default config file (issue #309) * javascript: new script plugin for JavaScript Bug fixes:: * core: add missing completions in command /input * guile: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, hook_command, buffer_string_replace_local_var, command * irc: fix color of new nick in nick changes messages when option irc.look.color_nicks_in_server_messages is off * irc: fix crash when setting an invalid regex with "/list -re" during a /list server response (issue #412) * irc: fix display of PART messages on channels with +a (anonymous flag) (issue #396) * irc: remove useless rename of channel buffer on JOIN received with different case (issue #336) * irc: fix completion of commands /allchan and /allpv * lua: fix wrong argument usage in functions nicklist_remove_group, nicklist_remove_nick and nicklist_remove_all (issue #346) * lua: fix value returned in case of error in functions: config_option_reset, config_string, config_string_default, config_color, config_color_default, config_write, config_read, config_reload, hook_modifier_exec, buffer_string_replace_local_var, nicklist_group_set, nicklist_nick_set, command, upgrade_read, upgrade_close * relay: fix up/down keys on relay buffer (issue #335) * relay: remove v4-mapped addresses in /help relay.network.allowed_ips (issue #325) * perl: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, buffer_string_replace_local_var, command * python: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, config_is_set_plugin, buffer_get_string, buffer_string_replace_local_var, nicklist_group_get_string, nicklist_nick_get_string, command, hdata_time * python: fix name of function "bar_update" in case of error * python: fix restore of old interpreter when a function is not found in the script * ruby: fix crash on /plugin reload (issue #364) * ruby: fix value returned in case of error in functions: config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, buffer_string_replace_local_var, command * script: fix state of script plugins when list of scripts has not been downloaded * scripts: reset current script pointer when load of script fails in python/perl/ruby/lua/tcl plugins * scripts: fix return code of function bar_set in python/perl/ruby/lua/tcl/guile plugins * scripts: fix type of value returned by function hdata_time (from string to long integer) in perl/ruby/lua/tcl/guile plugins * tcl: fix value returned in case of error in functions: mkdir_home, mkdir, mkdir_parents, config_option_reset, config_color, config_color_default, config_write, config_read, config_reload, print_date_tags, buffer_string_replace_local_var, command, infolist_new_item, infolist_new_var_integer, infolist_new_var_string, infolist_new_var_pointer, infolist_new_var_time, upgrade_write_object, upgrade_read, upgrade_close * trigger: do not hook anything if the trigger is disabled (issue #405) Documentation:: * add Russian man page [[v1.1.1]] == Version 1.1.1 (2015-01-25) Bug fixes:: * core: fix crash when a root bar has conditions different from active/inactive/nicklist (issue #317) * irc: don't close channel buffer on second /part when option irc.look.part_closes_buffer is off (issue #313) * irc: fix /join on a channel buffer opened with autojoin but which failed to join * irc: send QUIT to server and no PART for channels when the server buffer is closed (issue #294) * irc: fix order of channel buffers opened when option irc.look.server_buffer is set to "independent", irc.look.buffer_open_before_autojoin to "on" and irc.look.new_channel_position to "near_server" (issue #303) * irc: fix crash in buffer close when server name is the same as a channel name (issue #305) Build:: * core: fix random error when creating symbolic link weechat-curses on make install with cmake (bug #40313) [[v1.1]] == Version 1.1 (2015-01-11) New features:: * core: add option weechat.completion.command_inline (task #12491) * core: add bar item "mouse_status", new options weechat.look.item_mouse_status and weechat.color.status_mouse (issue #247) * core: add signals "mouse_enabled" and "mouse_disabled" (issue #244) * core: add hide of chars in string in evaluation of expressions * core: add arraylists, improve speed of completions (about 50x faster) * core: allow incomplete commands if unambiguous, new option weechat.look.command_incomplete (task #5419) * core: check bar conditions in root bars and on each update of a bar item * core: fully evaluate commands bound to keys in cursor and mouse contexts * core: move bar item "scroll" between buffer name and lag in default bar items of status bar * api: add regex replace feature in function string_eval_expression() * api: send value returned by command callback in function command(), remove WeeChat error after command callback if return code is WEECHAT_RC_ERROR * api: use microseconds instead of milliseconds in functions util_timeval_diff() and util_timeval_add() * irc: add option "reorder" in command /server (issue #229) * irc: open channel buffers before the JOIN is received from server (autojoin and manual joins), new options irc.look.buffer_open_before_{autojoin|join} (issue #216) * irc: add server option "sasl_fail" (continue/reconnect/disconnect if SASL fails) (issue #265, task #12204) * irc: add support for color codes 16-99 in IRC messages (issue #228), add infolist "irc_color_weechat" * irc: add support of "extended-join" capability (issue #143, issue #212) * irc: display own nick changes in server buffer (issue #188) * irc: disable creation of temporary servers by default with command /connect, new option irc.look.temporary_servers * irc: disable SSLv3 by default in server option "ssl_priorities" (issue #248) * irc: automatically add current channel in command /samode (issue #241) * irc: add tag "nick_xxx" in invite messages * relay: add options "stop" and "restart" in command /relay * relay: add option relay.network.ssl_priorities (issue #234) * relay: add host in sender for IRC backlog PRIVMSG messages sent to clients * script: add option script.scripts.url_force_https (issue #253) * trigger: evaluate and replace regex groups at same time, new format for regex option in triggers (incompatible with version 1.0) (issue #224) * trigger: add option "restore" in command /trigger * trigger: add `${tg_displayed}` in conditions of default trigger "beep" Bug fixes:: * core: fix display bug when scrolling in buffer on a filtered line (issue #240) * core: send mouse code only one time to terminal with command /mouse enable|disable|toggle * core: fix buffer property "lines_hidden" when merging buffers or when a line is removed from a buffer (issue #226) * core: display time in bare display only if option weechat.look.buffer_time_format is not an empty string * core: fix translation of message displayed after /upgrade * api: fix truncated process output in hook_process() (issue #266) * api: fix crash when reading config options with NULL value (issue #238) * irc: defer the auto-connection to servers with a timer (issue #279, task #13038) * irc: add missing server options "sasl_timeout" and "notify" in output of /server listfull * irc: use option irc.look.nick_mode_empty to display nick prefix in bar item "input_prompt" * irc: remove IRC color codes from buffer title in channels (issue #237) * irc: fix completion of commands /msg, /notice and /query * irc: fix translation of CTCP PING reply (issue #137) * relay: wait for message CAP END before sending join of channels and backlog to the client (issue #223) * relay: send messages "_buffer_localvar_*" and "_buffer_type_changed" with sync "buffers" (issue #191) * relay: don't remove relay from config when the binding fails (issue #225) * relay: use comma separator in option relay.irc.backlog_tags, check the value of option when it is changed with /set * relay: remove "::ffff:" from IPv4-mapped IPv6 client address (issue #111) * trigger: fix memory leak when allocating a new trigger with several regex * xfer: fix freeze when accepting DCC (issue #160, issue #174) * xfer: bind to wildcard address when sending (issue #173) Build:: * core: fix compilation of man pages with autotools in source directory * core: fix compilation of plugins with cmake >= 3.1 (issue #287) * lua: add detection of Lua 5.2 * python: fix Python detection with Homebrew (issue #217) * tests: fix compilation of tests with clang (issue #275) [[v1.0.1]] == Version 1.0.1 (2014-09-28) Bug fixes:: * core: fix crash on buffer close when option weechat.look.hotlist_remove is set to "merged" (issue #199) * core: fix highlight of IRC action messages when option irc.look.nick_mode is set to "action" or "both" (issue #206) * core: fix compilation of plugin API functions (macros) when compiler optimizations are enabled (issue #200) * core: fix window/buffer pointers used in command /eval * core: fix modifier "weechat_print": discard only one line when several lines are displayed in same message (issue #171) * api: fix bug in function hdata_move() when absolute value of count is greater than 1 * aspell: fix crash with command "/aspell addword" if no word is given (issue #164, issue #165) * irc: fix display of channel exception list (348) with 6 arguments (date missing) * irc: fix type of value stored in hashtable when joining a channel (issue #211) * relay: fix send of signals "relay_client_xxx" (issue #214) * script: fix crash on "/script update" if a script detail is displayed in buffer (issue #177) * trigger: do not allow any changes on a trigger when it is currently running (issue #189) * trigger: fix regex used in default triggers to hide passwords ("\S" is not supported on *BSD) (issue #172) Tests:: * unit: fix memory leak in tests launcher Build:: * aspell: fix compilation with Enchant < 1.6.0 (issue #192) * guile: fix compilation with Guile < 2.0.4 (issue #198) * perl: fix detection of Perl >= 5.20 with autotools * tests: fix build of tests when the build directory is outside source tree (issue #178) [[v1.0]] == Version 1.0 (2014-08-15) New features:: * core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux * core: add option weechat.color.status_nicklist_count (issue #109, issue #110) * core: add option "env" in command /set (manage environment variables) * core: add bar item "buffer_short_name" (task #10882) * core: add option "send" in command /input (send text to a buffer) * core: add support of negated tags in filters (with "!") (issue #72, issue #74) * core: add hidden buffers, add options hide/unhide in command /buffer * core: add default key kbd:[Alt+-] (toggle filters in current buffer) (issue #17) * core: add non-active merged buffers with activity in hotlist (if another merged buffer is zoomed) (task #12845) * core: add text search in buffers with free content (task #13051) * core: add buffer property "clear" * core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away * core: add option weechat.look.hotlist_remove (issue #99) * core: add options "-beep" and "-current" in command /print * core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l], new option "bare" in command /window, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format * core: add signals "key_combo_{default|search|cursor}" * core: add terabyte unit for size displayed * core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit * core: add option "-mask" in command /unset (issue #112) * core: set option weechat.look.buffer_search_where to prefix_message by default * core: mute all buffers by default in command /mute (replace option -all by -core) * api: allow value "-1" for property "hotlist" in function buffer_set() (to remove a buffer from hotlist) * api: add option "buffer_flush" in function hook_process_hashtable() * api: add support of case insensitive search and search by buffer full name in function buffer_search() (bug #34318) * api: add option "detached" in function hook_process_hashtable() * api: add option "signal" in function hook_set() to send a signal to the child process * api: add support of nested variables in function string_eval_expression() and command /eval (issue #35) * api: add support of escaped strings with format `${esc:xxx}` or `${\xxx}` in function string_eval_expression() and command /eval * api: add functions hashtable_dup(), string_replace_regex(), string_split_shell(), string_convert_escaped_chars() * api: add integer return code for functions hook_{signal|hsignal}_send() * api: add argument "flags" in function hdata_new_list() * api: allow wildcard "*" inside the mask in function string_match() * api: allow negative value for y in function printf_y() * alias: add default alias "msgbuf" (send text to a buffer) * exec: add exec plugin: new command /exec and file exec.conf * irc: add bar item "irc_nick_modes" (issue #71) * irc: add support of message 324 (channel modes) in option irc.look.display_join_message (issue #75) * irc: add option irc.look.join_auto_add_chantype (issue #65) * irc: add tag with host ("host_xxx") in IRC messages displayed (task #12018) * irc: add option irc.color.item_nick_modes (issue #47) * irc: add support of "away-notify" capability (issue #12) * irc: add command /remove (issue #91) * irc: add command /unquiet (issue #36) * irc: add command /allpv (task #13111) * irc: display locally away status changes in private buffers (in addition to channels) (issue #117) * irc: allow many fingerprints in server option ssl_fingerprint (issue #49) * irc: rename option irc.look.item_channel_modes_hide_key to irc.look.item_channel_modes_hide_args, value is now a string (task #12070, task #12163, issue #48) * irc: add value "+" for option irc.look.smart_filter_mode to use modes from server prefixes (this is now the default value) (issue #90) * irc: allow "$ident" in option irc.network.ban_mask_default (issue #18) * irc: evaluate content of server options "username" and "realname" * irc: set option irc.network.autoreconnect_delay_max to 600 by default, increase max value to 604800 seconds (7 days) * irc: set option irc.network.whois_double_nick to "off" by default * relay: add messages "_buffer_cleared", "_buffer_hidden" and "_buffer_unhidden" * relay: add info "relay_client_count" with optional status name as argument * relay: add signals "relay_client_xxx" for client status changes (issue #2) * relay: add option relay.network.clients_purge_delay * rmodifier: remove plugin (replaced by trigger) * script: set option script.scripts.cache_expire to 1440 by default * trigger: add trigger plugin: new command /trigger and file trigger.conf Bug fixes:: * core: fix zero-length malloc of an hashtable item with type "buffer" * core: fix memory leak on /upgrade when file signature in upgrade file is invalid * core: fix memory leak in completion of config options values * core: fix memory leak when removing script files * core: fix result of hash function (in hashtables) on 32-bit systems * core: fix insert of mouse code in input line after a partial key combo (issue #130) * core: check code point value in UTF-8 check function (issue #108) * core: fix socks5 proxy for curl downloads (issue #119) * core: display curl error after a failed download * core: do not display content of passphrase on /secure buffer * core: fix potential memory leak with infolists not freed in plugins (debian #751108) * core: fix color display of last terminal color number + 1 (issue #101) * core: add option "-buffer" in command /command (issue #67) * core: fix restoration of core buffer properties after /upgrade * core: fix "/buffer clear" with a name (don't clear all merged buffers with same number) * core: fix evaluation of expression with regex: when a comparison char is in the regex and don't evaluate the regex itself (issue #63) * core: close .upgrade files before deleting them after /upgrade * core: fix refresh of bar item "buffer_zoom" on buffer switch * core: fix reset of attributes in bars when "resetcolor" is used (issue #41) * core: fix alignment of lines in merged buffers when options weechat.look.prefix_align and weechat.look.prefix_buffer_align are set to "none" (issue #43) * core: quit WeeChat on signal SIGHUP, remove signal "signal_sighup" * core: fix add of filter on OS X when regex for message is empty (filter regex ending with "\t") * core: check validity of buffer pointer when data is sent to a buffer (command/text from user and API function command()) * core: fix crash when buffer is closed during execution of multiple commands (issue #27) * core: fix compilation on SmartOS (bug #40981, issue #23) * core: add missing \0 at the end of stderr buffer in function hook_process() * core: fix highlight problem with "(?-i)" and upper case letters in option weechat.look.highlight (issue #24) * core: fix detection of terminated process in function hook_process() * core: fix "/window scroll -N" on a buffer with free content * core: fix recursive calls to function eval_expression() * core: save and restore mute state in command /mute (bug #41748) * core: fix memory leak when removing a hdata * core: fix memory leak in evaluation of sub-conditions * core: fix memory leak in function gui_key_add_to_infolist() (in case of insufficient memory) * core: fix use of invalid pointer in function gui_bar_window_content_alloc() (in case of insufficient memory) * core: fix uninitialized value in function string_decode_base64() * core: fix memory leak and use of invalid pointer in split of string (in case of insufficient memory) * core: fix potential NULL pointer in function gui_color_emphasize() * core: use same return code and message in all commands when arguments are wrong/missing * core: allow empty arguments for command /print * core: fix freeze/crash in GnuTLS (bug #41576) * api: fix function string_decode_base64() * api: fix function string_format_size() on 32-bit systems * api: change type of arguments displayed/highlight in hook_print() callback from string to integer (in scripts) * alias: change default command for alias /beep to "/print -beep" * guile: fix module used after unload of a script * irc: fix memory leak in CTCP answer * irc: fix duplicate sender name in display of wallops (issue #142, issue #145) * irc: fix extract of channel in parser for JOIN/PART messages when there is a colon before the channel name (issue #83) * irc: fix duplicate sender name in display of notice (issue #87) * irc: fix refresh of buffer name in bar items after join/part/kick/kill (issue #86) * irc: display message 936 (censored word) on channel instead of server buffer * irc: make reason optional in command /kill * irc: add alias "whois" for target buffer of messages 401/402 (issue #54) * irc: fix truncated read on socket with SSL (bug #41558) * irc: display output of CAP LIST in server buffer * irc: fix colors in message with CTCP reply sent to another user * irc: fix read of MODES server value when in commands /op, /deop, /voice, /devoice, /halfop, /dehalfop * irc: fix parsing of nick in host when "!" is not found (bug #41640) * lua: fix interpreter used after unload of a script * perl: fix context used after unload of a script * python: fix read of return value for callbacks returning an integer in Python 2.x (issue #125) * python: fix interpreter used after unload of a script * relay: fix memory leak during handshake on websocket * relay: fix memory leak when receiving commands from client (weechat protocol) * relay: fix crash when an IRC "MODE" command is received from client without arguments * relay: fix number of bytes sent/received on 32-bit systems * relay: fix crash when closing relay buffers (issue #57, issue #78) * relay: check pointers received in hdata command to prevent crashes with bad pointers (WeeChat protocol) * relay: remove warning on /reload of relay.conf when ports are defined * relay: fix client disconnection on empty websocket frames received (PONG) * relay: add support of Internet Explorer websocket (issue #73) * relay: fix crash on /upgrade received from a client (weechat protocol) * relay: fix freeze after /upgrade when many disconnected clients still exist * relay: fix NULL pointer when reading buffer lines for irc backlog * ruby: fix crash when trying to load a directory with /ruby load * script: fix display of curl errors * script: fix scroll on script buffer in the detailed view of script (issue #6) * scripts: fix crash when a signal is received with type "int" and NULL pointer in signal_data * xfer: fix problem with option xfer.file.auto_accept_nicks when the server name contains dots * xfer: fix freeze/problems when sending empty files with DCC (issue #53) * xfer: fix connection to remote host in DCC receive on Mac OS X (issue #25) * xfer: remove bind on xfer.network.own_ip (issue #5) Build:: * core: fix cmake warning CMP0007 on "make uninstall" (bug #41528) * core: use glibtoolize on Mac OS X (autotools) (issue #22) * ruby: add detection of Ruby 2.1 Tests:: * unit: add unit tests using CppUTest (issue #104) [[v0.4.3]] == Version 0.4.3 (2014-02-09) New features:: * core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized) * core: add command /print, add support of more escaped chars in command "/input insert" * core: add option weechat.look.tab_width * core: add completion "plugins_installed" * core: add option weechat.look.window_auto_zoom, disable automatic zoom by default when terminal becomes too small for windows * core: use "+" separator to make a logical "and" between tags in command /filter, option weechat.look.highlight_tags and buffer property "highlight_tags" * core: add options weechat.look.buffer_auto_renumber and weechat.look.buffer_position, add option "renumber" in command /buffer, add bar item "buffer_last_number" (task #12766) * core: add signal "buffer_cleared" * core: add buffer property "day_change" to hide messages for the day change in specific buffers * core: add option "libs" in command /debug * core: add infos "term_width" and "term_height" * core: add bar item "buffer_zoom", add signals "buffer_{zoomed|unzoomed}" (patch #8204) * core: add default keys kbd:[Alt+Home] / kbd:[Alt+End] (`meta2-1;3H` / `meta2-1;3F`) and kbd:[Alt+F11] / kbd:[Alt+F12] (`meta2-23;3~` / `meta2-24;3~`) for xterm * core: add support of italic text (requires ncurses >= 5.9 patch 20130831) * core: add options to customize default text search in buffers: weechat.look.buffer_search_{case_sensitive|force_default|regex|where} * core: add support of UTF-8 chars in horizontal/vertical separators (options weechat.look.separator_{horizontal|vertical}) * core: add support of logical and/or for argument "tags" in function hook_print() * core: rename buffer property "highlight_tags" to "highlight_tags_restrict", new behavior for buffer property "highlight_tags" (force highlight on tags), rename option irc.look.highlight_tags to irc.look.highlight_tags_restrict * core: rename options save/reset to store/del in command /layout * core: replace default key kbd:[Ctrl+c], kbd:[r] by kbd:[Ctrl+c], kbd:[v] for reverse video in messages * core: replace default key kbd:[Ctrl+c], kbd:[u] by kbd:[Ctrl+c], kbd:[_] for underlined text in messages * core: rename option weechat.look.set_title to weechat.look.window_title, value is now a string (evaluated) * core: set option weechat.look.paste_bracketed to "on" by default * core: use one date format when day changes from day to day+1 * api: add function infolist_search_var() * api: add stdin options in functions hook_process_hashtable() and hook_set() to send data on stdin of child process, add function hook_set() in script API (task #10847, task #13031) * api: add hdata "buffer_visited" * api: add support of infos with format `${info:name,arguments}` in function string_eval_expression() and command /eval * api: add support for C++ plugins * alias: add default alias /beep => /print -stderr \a * irc: add server option "ssl_fingerprint" (task #12724) * irc: add option irc.look.smart_filter_mode (task #12499) * irc: add option irc.network.ban_mask_default (bug #26571) * irc: add option irc.network.lag_max * irc: add option irc.look.notice_welcome_tags * irc: add server option "default_msg_kick" to customize default kick/kickban message (task #12777) * irc: use MONITOR instead of ISON for /notify when it is available on server (task #11477) * relay: send backlog for irc private buffers * xfer: add support of IPv6 for DCC chat/file (patch #7992) * xfer: add option xfer.file.auto_check_crc32 (patch #7963) Bug fixes:: * core: fix hotlist problems after apply of a layout (bug #41481) * core: fix crash when creating two bars with same name but different case (bug #41418) * core: fix display of read marker when all buffer lines are unread and that option weechat.look.read_marker_always_show is on * core: fix memory leak in regex matching when evaluating expression * core: fix crash in /eval when config option has a NULL value * core: fix crash with hdata_update() on shared strings, add hdata type "shared_string" (bug #41104) * core: fix text emphasis with wide chars on screen like Japanese (patch #8253) * core: remove option on /unset of plugin description option (plugins.desc.xxx) (bug #40768) * core: fix random crash when closing a buffer * core: fix crash on /buffer close core.weechat * core: apply color attributes when clearing a window (patch #8236) * core: fix truncated text when pasting several long lines (bug #40210) * core: create .conf file with default options only if the file does not exist (and not on read error with existing file) * core: fix highlight on action messages: skip the nick at beginning to prevent highlight on it (bug #40516) * core: fix bind of keys in cursor/mouse context when key starts with "@" (remove the warning about unsafe key) * core: fix truncated prefix when filters are toggled (bug #40204) * api: fix read of arrays in hdata functions hdata_() (bug #40354) * aspell: fix detection of nicks with non-alphanumeric chars * guile: disable guile gmp allocator (fix crash on unload of relay plugin) (bug #40628) * irc: clear the GnuTLS session in all cases after SSL connection error * irc: do not display names by default when joining a channel (task #13045) * irc: display PONG answer when resulting from manual /ping command * irc: fix time parsed in tag of messages on Cygwin * irc: use statusmsg from message 005 to check prefix char in status notices/messages * irc: remove display of channel in channel notices, display "PvNotice" for channel welcome notices * irc: fix ignore on a host without nick * irc: use color code 0x1F (`ctrl-_`) for underlined text in input line (same code as messages) (bug #40756) * irc: use color code 0x16 (`ctrl-v`) for reverse video in messages * irc: use option irc.network.colors_send instead of irc.network.colors_receive when displaying messages sent by commands /away, /me, /msg, /notice, /query * irc: fix memory leak when checking the value of ssl_priorities option in servers * irc: fix memory leak when a channel is deleted * irc: fix groups in channel nicklist when reconnecting to a server that supports more nick prefixes than the previously connected server * irc: fix auto-switch to channel buffer when doing /join channel (without "#") * logger: fix memory leaks in backlog * logger: replace backslashs in name by logger replacement char under Cygwin (bug #41207) * lua: fix crash on calls to callbacks during load of script * python: fix load of scripts with Python >= 3.3 * relay: fix memory leak on unload of relay plugin * ruby: fix ruby init with Ruby >= 2.0 (bug #41115) * scripts: fix script interpreter used after register during load of script in python/perl/ruby/lua/guile plugins (bug #41345) * xfer: use same infolist for hook and signals (patch #7974) Documentation:: * add French developer's guide and relay protocol * add Japanese plugin API reference and developer's guide * add Polish man page and user's guide Build:: * core: fix installation of weechat-plugin.h with autotools (patch #8305) * core: fix compilation on Android (bug #41420, patch #8301, bug #41434) * lua: fix detection of Lua 5.2 in autotools (patch #8270) * ruby: add detection and fix compilation with Ruby 2.0 (patch #8209) [[v0.4.2]] == Version 0.4.2 (2013-10-06) New features:: * core: display day change message dynamically (do not store it as a line in buffer), split option weechat.look.day_change_time_format into two options weechat.look.day_change_message_{1date|2dates}, new option weechat.color.chat_day_change (task #12775) * core: add syntax "@buffer:item" in bar items to force the buffer used when displaying the bar item (task #12717) * core: add search of regular expression in buffer, don't reset search type on a new search, select where to search (messages/prefixes), add keys in search context: kbd:[Alt+c] (case (in)sensitive search), kbd:[Tab] (search in messages/prefixes) * core: add text emphasis in messages when searching text in buffer, new options: weechat.look.emphasized_attributes, weechat.color.emphasized, weechat.color.emphasized_bg * core: add secured data (encryption of passwords or private data): add new command /secure and new file sec.conf (task #7395) * core: rename binary and man page from "weechat-curses" to "weechat" (task #11027) * core: add option "-o" in command /color * core: add option "scroll_beyond_end" for command /window (task #6745) * core: add options weechat.look.hotlist_prefix and weechat.look.hotlist_suffix (task #12730) * core: add option weechat.look.key_bind_safe * core: add option weechat.network.proxy_curl (task #12651) * core: add "proxy" infolist and hdata * core: add infolist "layout" and hdata "layout", "layout_buffer" and "layout_window" * core: reduce memory used by using shared strings for nicklist and lines in buffers * core: change color format for options weechat.look.buffer_time_format and weechat.look.prefix_{action|error|join|network|quit} from `${xxx}` to `${color:xxx}` * core: optimize the removal of lines in buffers (a lot faster to clear/close buffers with lot of lines) * core: set options weechat.look.color_inactive_{buffer|window} to "on" by default * api: return hashtable item pointer in functions hashtable_set() and hashtable_set_with_size() * api: add "callback_free_key" in hashtable * api: add support of colors with format `${color:xxx}` in function string_eval_expression() and command /eval * api: add argument "options" in function string_eval_expression(), add option "-c" in command /eval (to evaluate a condition) * api: add new function strlen_screen() * aspell: rename option aspell.look.color to aspell.color.misspelled, add option aspell.color.suggestions * aspell: add support of enchant library (patch #6858) * irc: add option irc.look.notice_welcome_redirect to automatically redirect channel welcome notices to the channel buffer * irc: add support of wildcards in commands (de)op/halfop/voice, split IRC message sent if number of nicks is greater than server MODES (from message 005) (task #9221) * irc: add option irc.look.pv_tags * irc: add support of special variables $nick/$channel/$server in commands /allchan and /allserv * irc: add option irc.look.nick_color_hash: hash algorithm to find nick color (patch #8062) * logger: add option "flush" in command /logger * plugins: remove the demo plugin * relay: add command "ping" in weechat protocol (task #12689) * rmodifier: add option "missing" in command /rmodifier * script: add info about things defined by script (like commands, options, ...) in the detailed view of script (/script show) * scripts: add hdata with script callback * xfer: add option xfer.look.pv_tags Bug fixes:: * core: clear whole line before displaying content instead of clearing after the end of content (bug #40115) * core: fix time displayed in status bar (it was one second late) (bug #40097) * core: fix memory leak on unhook of a print hook (if using tags) * core: fix computation of columns in output of /help (take care about size of time/buffer/prefix) * core: fix random crash on "/buffer close" with a buffer number (or a range of buffers) * core: fix priority of logical operators in evaluation of expression (AND takes precedence over the OR) and first evaluate sub-expressions between parentheses * core: remove gap after read marker line when there is no bar on the right (bug #39548) * core: use "/dev/null" for stdin in hook_process() instead of closing stdin (bug #39538) * core: fix char displayed at the intersection of three windows (bug #39331) * core: fix crash in evaluation of expression when reading a string in hdata with a NULL value (bug #39419) * core: fix display bugs with some UTF-8 chars that truncates messages displayed (for example U+26C4) (bug #39201) * core: remove extra space after empty prefix (when prefix for action, error, join, network or quit is set to empty string) (bug #39218) * core: fix random crash on mouse actions (bug #39094) * core: fix line alignment when option weechat.look.buffer_time_format is set to empty string * api: change type of hashtable key hash to unsigned long * api: use pointer for infolist "hook" to return only one hook * aspell: fix detection of word start/end when there are apostrophes or minus chars before/after word * irc: fix reconnection to server using IPv6 (bug #38819, bug #40166) * irc: replace default prefix modes "qaohvu" by the standard ones "ov" when PREFIX is not sent by server (bug #39802) * irc: use 6697 as default port for SSL servers created with URL "ircs://" (bug #39621) * irc: display number of ops/halfops/voices on channel join only for supported modes on server (bug #39582) * irc: fix self nick color in server messages after nick is changed with /nick (bug #39415) * irc: fix error message on /invite without arguments (bug #39272) * irc: fix multiple nicks in command /query (separated by commas): open one buffer per nick * lua: fix interpreter used in API functions (bug #39470) * relay: fix decoding of websocket frames when there are multiple frames in a single message received (only the first one was decoded) * relay: fix binding to an IP address (bug #39119) Documentation:: * update man page and add translations (in French, German, Italian, and Japanese) Build:: * core: add CA_FILE option in cmake and configure to setup default value of option weechat.network.gnutls_ca_file (default is "/etc/ssl/certs/ca-certificates.crt") (task #12725) * core: disable build of doc by default, add cmake option ENABLE_MAN to compile man page (off by default) * xfer: fix compilation on OpenBSD (bug #39071) [[v0.4.1]] == Version 0.4.1 (2013-05-20) New features:: * core: make nick prefix/suffix dynamic (not stored in the line): move options irc.look.nick_{prefix|suffix} to weechat.look.nick_{prefix|suffix} and options irc.color.nick_{prefix|suffix} to weechat.color.chat_nick_{prefix|suffix}, add new options weechat.look.prefix_align_more_after, weechat.look.prefix_buffer_align_more_after, logger.file.nick_{prefix|suffix} (bug #37531) * core: add support of multiple layouts (task #11274) * core: add signals nicklist_{group|nick}_removing and hsignals nicklist_{group|nick}_{added|removing|changed} * core: add count for groups, nicks, and total in nicklist * core: add option "dirs" in command /debug * core: add signal "window_opened" (task #12464) * core: allow read of array in hdata without using index * api: add new function hdata_search() * api: add property "completion_freeze" for function buffer_set(): do not stop completion when command line is updated * aspell: add completion "aspell_dicts" (list of aspell installed dictionaries) * aspell: add info "aspell_dict" (dictionaries used on a buffer) * aspell: optimization on spellers to improve speed (save state by buffer) * irc: add support of "dh-aes" SASL mechanism (patch #8020) * irc: add support of UHNAMES (capability "userhost-in-names") (task #9353) * irc: add tag "irc_nick_back" for messages displayed in private buffer when a nick is back on server (task #12576) * irc: add option irc.look.display_join_message (task #10895) * irc: add option irc.look.pv_buffer: automatically merge private buffers (optionally by server) (task #11924) * irc: hide passwords in commands or messages sent to nickserv (/msg nickserv) with new modifiers "irc_command_auth" and "irc_message_auth", remove option irc.look.hide_nickserv_pwd, add option irc.look.nicks_hide_password (bug #38346) * irc: unmask smart filtered join if nick speaks in channel some minutes after the join, new option irc.look.smart_filter_join_unmask (task #12405) * irc: rename option irc.network.lag_disconnect to irc.network.lag_reconnect, value is now a number of seconds * relay: add message "_nicklist_diff" (differences between old and current nicklist) * relay: add support of multiple servers on same port for irc protocol (the client must send the server in the "PASS" command) * relay: add WebSocket server support (RFC 6455) for irc and weechat protocols, new option relay.network.websocket_allowed_origins * relay: add options "buffers" and "upgrade" in commands sync/desync (weechat protocol) * rmodifier: rename default rmodifier "nickserv" to "command_auth" (with new modifier "irc_command_auth"), add default rmodifier "message_auth" (modifier "irc_message_auth") * script: add option script.scripts.autoload, add options "autoload", "noautoload" and "toggleautoload" for command /script, add action "A" (kbd:[Alt+a]) on script buffer (toggle autoload) (task #12393) * xfer: add option xfer.file.auto_accept_nicks (patch #7962) Bug fixes:: * core: fix display of long lines without time (message beginning with two tabs) * core: reset scroll in window before zooming on a merged buffer (bug #38207) * core: fix refresh of item "completion": clear it after any action that is changing content of command line and after switch of buffer (bug #38214) * core: fix structures before buffer data when a buffer is closed * core: fix refresh of line after changes with hdata_update() (update flag "displayed" according to filters) * core: fix hidden lines for messages without date when option weechat.history.max_buffer_lines_minutes is set (bug #38197) * core: use default hash/comparison callback for keys of type integer/pointer/time in hashtable * api: do not display a warning by default when loading a script with a license different from GPL * api: fix connection to servers with hook_connect() on OS X (bug #38496) * api: fix bug in function string_match() when mask begins and ends with "*" * api: allow hashtable with keys that are not strings in function hashtable_add_to_infolist() * api: fix function string_mask_to_regex(): escape all special chars used in regex (bug #38398) * guile: fix crash in function hdata_move() * guile: fix arguments given to callbacks (separate arguments instead of one list with arguments inside), Guile >= 2.0 is now required (bug #38350) * guile: fix crash on calls to callbacks during load of script (bug #38343) * irc: fix name of server buffer after /server rename (set name "server.name" instead of "name") * irc: fix uncontrolled format string when sending unknown irc commands (if option irc.network.send_unknown_commands is on) * irc: fix uncontrolled format string when sending ison command (for nicks monitored by /notify) * irc: fix refresh of nick in input bar when joining a new channel with op status (bug #38969) * irc: fix display of CTCP messages that contain bold attribute (bug #38895) * irc: fix duplicate nick completion when someone rejoins the channel with same nick but a different case (bug #38841) * irc: fix crash on command "/allchan /close" * irc: fix default completion (like nicks) in commands /msg, /notice, /query and /topic * irc: fix prefix color for nick when the prefix is not in irc.color.nick_prefixes: use default color (key "*") * irc: fix display of malformed CTCP (without closing char) (bug #38347) * irc: fix memory leak in purge of hashtables with joins (it was done only for the first server in the list) * irc: add color in output of /names when result is on server buffer (channel not joined) (bug #38070) * lua: remove use of functions for API constants * lua: fix crash on stack overflow: call lua_pop() for values returned by lua functions (bug #38510) * perl: simplify code to load scripts * python: fix crash when loading scripts with Python 3.x (patch #8044) * relay: fix uncontrolled format string in redirection of irc commands * relay: rename compression "gzip" to "zlib" (compression is zlib, not gzip) * relay: fix commands sync/desync in weechat protocol (bug #38215) * ruby: fix crash in function hdata_move() * ruby: fix crash with Ruby 2.0: use one array for the last 6 arguments of function config_new_option() (bug #31050) * script: create "script" directory on each action, just in case it has been removed (bug #38472) * scripts: create directories (language and language/autoload) on each action (install/remove/autoload), just in case they have been removed (bug #38473) * scripts: do not allow empty script name in function register() * xfer: fix freeze of DCC file received: use non-blocking socket after connection to sender and ensure the ACK is properly sent (bug #38340) Build:: * core: install icon file (patch #7972) * core: fix detection of iconv with cmake on OS X (bug #38321) * guile: fix compilation with Guile 2.0 * python: fix detection of Python on Ubuntu Raring * script: fix compilation on GNU/Hurd (patch #7977) [[v0.4.0]] == Version 0.4.0 (2013-01-20) New features:: * core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved" * core: add option "diff" in command /set (list options with changed value) * core: add color support in options weechat.look.prefix_{action|error|join|network|quit} (task #9555) * core: display default values for changed config options in output of /set * core: add command /eval, use expression in conditions for bars * core: add option "-quit" in command /upgrade (save session and quit without restarting WeeChat, for delayed restoration) * core: add incomplete mouse events "event-down" and "event-drag" (task #11840) * api: allow return code WEECHAT_RC_OK_EAT in callbacks of hook_signal() and hook_hsignal() (stop sending the signal immediately) * api: allow creation of structure with hdata_update() (allowed for hdata "history") * api: use hashtable "options" for command arguments in function hook_process_hashtable() (optional, default is a split of string with command) * api: add new function string_eval_expression() * api: connect with IPv6 by default in hook_connect() (with fallback to IPv4), shuffle list of hosts for a same address, add argument "retry" for hook_connect(), move "sock" from hook_connect() arguments to callback of hook_connect() (task #11205) * aspell: add signal "aspell_suggest" (sent when new suggestions are displayed) * aspell: add bar items "aspell_dict" (dictionary used on current buffer) and "aspell_suggest" (suggestions for misspelled word at cursor), add option aspell.check.suggestions (task #12061) * irc: add tags "irc_nick1_xxx" and "irc_nick2_yyy" in message displayed for command "NICK" * irc: return git version in CTCP VERSION and FINGER by default, add "$git" and "$versiongit" in format of CTCP replies * irc: read local variable "autorejoin" in buffer to override server option "autorejoin" (task #12256) * irc: add option "-auto" in command /connect (task #9340) * irc: add support of "server-time" capability (task #12255) * irc: add support of tags in messages * irc: add command /quiet, fix display of messages 728/729 (quiet list, end of quiet list) (task #12278) * irc: add option irc.network.alternate_nick to disable dynamic nick generation when all nicks are already in use on server (task #12281) * irc: add option irc.network.whois_double_nick to double nick in command /whois * irc: add option "-noswitch" in command /join (task #12275) * perl: display script filename in error messages * relay: add backlog and server capability "server-time" for irc protocol, add new options relay.irc.backlog_max_minutes, relay.irc.backlog_max_number, relay.irc.backlog_since_last_disconnect, relay.irc.backlog_tags, relay.irc.backlog_time_format (task #12076) * relay: add support of IPv6, new option relay.network.ipv6, add support of "ipv4." and/or "ipv6." before protocol name, to force IPv4/IPv6 (task #12270) * xfer: display remote IP address for DCC chat/file (task #12289) Bug fixes:: * core: fix infinite loop when a regex gives an empty match (bug #38112) * core: fix click in item "buffer_nicklist" when nicklist is a root bar (bug #38080) * core: fix line returned when clicking on a bar (according to position and filling) (bug #38069) * core: fix refresh of bars when applying layout (bug #37944, bug #37952) * core: fix scroll to bottom of window (default key: kbd:[Alt+End]) when line displayed is bigger than chat area * core: fix scroll in buffer after enabling/disabling some filters (if scroll is on a hidden line) (bug #37885) * core: fix memory leak in case of error when building content of bar item for display * core: fix detection of command in input: a single command char is considered as a command (API function string_input_for_buffer()) * core: search for a fallback template when a no template is matching command arguments * core: fix refresh of windows after split (fix bug with horizontal separator between windows) (bug #37874) * core: fix stuck mouse (bug #36533) * core: fix default mouse buttons actions for script buffer (focus the window before executing action) * core: fix scroll of one page down when weechat.look.scroll_page_percent is less than 100 (bug #37875) * core: disable paste detection and confirmation if bar item "input_paste" is not used in a visible bar (task #12327) * core: use high priority (50000) for commands /command and /input so that an alias will not take precedence over these commands (bug #36353) * core: execute command with higher priority when many commands with same name are found with different priorities * core: fix display of combining chars (bug #37775) * core: fix display of zoomed/merged buffer (with number >= 2) after switching to it (bug #37593) * core: fix display problem when option weechat.look.prefix_same_nick is set (problem with nick displayed in first line of screen) (bug #37556) * core: fix wrapping of words with wide chars (the break was made before the correct position) * api: do not call shell to execute command in hook_process() (fix security problem when a plugin/script gives untrusted command) (bug #37764) * alias: give higher priority to aliases (2000) so that they take precedence over an existing command * aspell: ignore self and remote nicks in private buffers * aspell: fix creation of spellers when number of dictionaries is different between two buffers * guile: fix bad conversion of shared strings (replace calls to scm_i_string_chars() by scm_to_locale_string()) (bug #38067) * irc: fix display of actions (/me) when they are received from a relay client (in channel and private buffers) (bug #38027) * irc: fix memory leak when updating modes of channel * irc: fix crash on /upgrade (free channels before server data when a server is destroyed) (bug #37736) * irc: fix crash when decoding IRC colors in strings (bug #37704) * irc: fix refresh of bar item "away" after command /away or /disconnect * irc: send whois on self nick when /whois is done without argument on a channel (task #12273) * irc: remove local variable "away" in server/channels buffers after server disconnection (bug #37582) * irc: fix crash when message 352 has too few arguments (bug #37513) * irc: remove unneeded server disconnect when server buffer is closed and server is already disconnected * perl: fix calls to callbacks during load of script when multiplicity is disabled (bug #38044) * relay: fix duplicated messages sent to irc clients (when messages are redirected) (bug #37870) * relay: fix memory leak when adding hdata to a message (weechat protocol) * relay: fix crash after /upgrade when a client is connected * relay: add missing "ssl." in output of /relay listrelay * script: fix scroll with mouse when window with script buffer is not the current window (do not force a switch to script buffer in current window) * xfer: fix memory leak when refreshing xfer buffer * xfer: add missing tags in DCC chat messages: nick_xxx, prefix_nick_ccc, logN * xfer: limit bytes received to file size (for DCC file received), fix crash when displaying a xfer file with pos greater than size Build:: * core: add git version in build, display it in "weechat-curses --help" and /version * core: stop cmake if gcrypt lib is not found (bug #37671) * guile: fix detection of Guile in configure * script: fix compilation on OS X [[v0.3.9.2]] == Version 0.3.9.2 (2012-11-18) Bug fixes:: * core: do not call shell to execute command in hook_process() (fix security problem when a plugin/script gives untrusted command) (bug #37764, CVE-2012-5534) [[v0.3.9.1]] == Version 0.3.9.1 (2012-11-09) Bug fixes:: * irc: fix crash when decoding IRC colors in strings (bug #37704, CVE-2012-5854) [[v0.3.9]] == Version 0.3.9 (2012-09-29) New features:: * core: add signals for plugins loaded/unloaded * core: add default key kbd:[Alt+x] (zoom on merged buffer) (task #11029) * core: add mouse bindings kbd:[Ctrl] + wheel up/down to scroll horizontally buffers with free content * core: add option weechat.startup.sys_rlimit to set system resource limits for WeeChat process * core: add option "swap" in command /buffer (task #11373) * core: add hdata "hotlist" * core: add support of arrays in hdata variables * core: add command line option "-r" (or "--run-command") to run command(s) after startup of WeeChat * core: add function hook_set() in plugin API, add "subplugin" in hooks (set by script plugins), display subplugin in /help on commands (task #12049) * core: add option weechat.look.jump_smart_back_to_buffer (jump back to initial buffer after reaching end of hotlist, on by default, which is old behavior) * core: add default key kbd:[Alt+s] (toggle aspell) * core: add callback "nickcmp" in buffers * core: add horizontal separator between windows, new options weechat.look.window_separator_{horizontal|vertical} * core: add options weechat.look.color_nick_offline and weechat.color.chat_nick_offline{_highlight|_highlight_bg} to use different color for offline nicks in prefix (task #11109) * api: allow update for some variables of hdata, add new functions hdata_update() and hdata_set() * api: add info "locale" for info_get() (locale used to translate messages) * api: add new function util_version_number() * aspell: add option aspell.check.enabled, add options enable/disable/toggle for command /aspell (rename options enable/disable/dictlist to setdict/deldict/listdict), display aspell status with /aspell (task #11988) * irc: generate alternate nicks dynamically when all nicks are already in use (task #12209) * irc: add bar item "buffer_modes", remove option irc.look.item_channel_modes (task #12022) * irc: add option irc.look.ctcp_time_format to customize reply to CTCP TIME (task #12150) * irc: move options from core to irc plugin: weechat.look.nickmode to irc.look.nick_mode (new type: integer with values: none/prefix/action/both) and weechat.look.nickmode_empty to irc.look.nick_mode_empty * logger: add tags in backlog lines displayed when opening buffer * logger: add messages "Day changed to" in backlog (task #12187) * relay: add support of SSL (for irc and weechat protocols), new option relay.network.ssl_cert_key (task #12044) * relay: add option relay.color.client * relay: add object type "arr" (array) in WeeChat protocol * script: new plugin "script" (script manager, replacing scripts weeget.py and script.pl) * scripts: add signals for scripts loaded/unloaded/installed/removed * scripts: add hdata with list of scripts for each language Bug fixes:: * core: fix display bug when end of a line is displayed on top of chat (last line truncated and MORE(0) in status bar) (bug #37203) * core: fix IP address returned by hook_connect() (return IP really used, not first IP for hostname) * core: display spaces at the end of messages in chat area (bug #37024) * core: fix infinite loop in display when chat area has width of 1 with a bar displayed on the right (nicklist by default) (bug #37089) * core: fix display of "bar more down" char when text is truncated by size_max in bars with vertical filling (bug #37054) * core: fix color of long lines (displayed on more than one line on screen) under FreeBSD (bug #36999) * core: return error string to callback of hook_connect() if getaddrinfo fails in child process * core: scroll to bottom of window after reaching first or last highlight with keys kbd:[Alt+p] / kbd:[Alt+n] * core: fix refresh of bar items when switching window * core: fix refresh of bar items "buffer_filter" and "scroll" in root bars (bug #36816) * core: allow again names beginning with "#" for bars, proxies and filters * core: escape special chars (`#[\`) in configuration files for name of options (bug #36584) * aspell: add missing dictionaries (ast/grc/hus/kn/ky) * charset: do not allow "UTF-8" in charset decoding options (useless because UTF-8 is the internal WeeChat charset) * fifo: ignore read failing with error EAGAIN (bug #37019) * guile: fix crash when unloading a script without pointer to interpreter * irc: fix rejoin of channels with a key, ignore value "*" sent by server for key (bug #24131) * irc: fix SASL mechanism "external" (bug #37274) * irc: fix parsing of message 346 when no nick/time are given (bug #37266) * irc: switch to next address after a timeout when connecting to server (bug #37216) * irc: fix bug when changing server option "addresses" with less addresses (bug #37215) * irc: add network prefix in irc (dis)connection messages * irc: fix split of received IRC message: keep spaces at the end of message * irc: fix bug with prefix chars which are in chanmodes with a type different from "B" (bug #36996) * irc: fix format of message "USER" (according to RFC 2812) (bug #36825) * irc: fix parsing of user modes (ignore everything after first space) (bug #36756, bug #31572) * irc: fix freeze when reading on socket with SSL enabled (use non-blocking sockets) (bug #35097) * irc: allow again names beginning with "#" for servers * lua: fix crash when unloading a script without pointer to interpreter * python: fix crash when unloading a script without pointer to interpreter * relay: fix freeze when writing on relay socket (use non-blocking sockets in relay for irc and weechat protocols) (bug #36655) * scripts: fix deletion of configuration files when script is unloaded (bug #36977) * scripts: fix function unhook_all(): delete only callbacks of hooks and add missing call to unhook() * scripts: ignore call to register() (with a warning) if script is already registered * xfer: fix DCC transfer error (bug #37432) Documentation:: * add Japanese user's guide (patch #7827), scripting guide and tester's guide Build:: * core: move the set of cmake policy CMP0003 in directory src (so it applies to all plugins) (bug #37311) * core: fix names of cache variables in configure.in (bug #36971) * core: add cmake option "MANDIR" (bug #36776) * guile: fix path of Guile include dirs in cmake build (patch #7790) * lua: add support of Lua 5.2 * python: fix detection of Python (first try "python2.x" and then "python") (bug #36835) * ruby: add detection of Ruby 1.9.3 [[v0.3.8]] == Version 0.3.8 (2012-06-03) New features:: * core: add option weechat.look.prefix_same_nick (hide or change prefix on messages whose nick is the same as previous message) (task #11965) * core: convert tabs to spaces in text pasted (bug #25028) * core: add a connection timeout for child process in hook_connect() (bug #35966) * core: add support of terminal "bracketed paste mode", new options weechat.look.paste_bracketed and weechat.look.paste_bracketed_timer_delay (task #11316) * core: support lines of 16 Kb long in configuration files (instead of 1 Kb) * core: convert options weechat.look.prefix_align_more and weechat.look.prefix_buffer_align_more from boolean to string (task #11197) * core: follow symbolic links when writing configuration files (.conf) (task #11779) * api: add list "gui_buffer_last_displayed" in hdata "buffer" * irc: add option "fakerecv" in command /server to simulate a received IRC message (not documented, for debug only) * irc: add option "-pending" in command /disconnect (cancel auto-reconnection on servers currently reconnecting) (task #11985) * irc: add signals and tags in messages for irc notify (task #11887) * irc: add support of "external" SASL mechanism (task #11864) * irc: allow more than one nick in command /invite * logger: add colors for backlog lines and end of backlog, new options: logger.color.backlog_line and logger.color.backlog_end (task #11966) * relay: add signals "upgrade" and "upgrade_ended" in WeeChat protocol * relay: add "date_printed" and "highlight" in signal "_buffer_line_added" (WeeChat protocol) * rmodifier: add default rmodifier "quote_pass" to hide password in command "/quote pass" (bug #36250) * rmodifier: add default rmodifier "server" to hide passwords in commands /server and /connect (task #11993) * rmodifier: add option "release" in default rmodifier "nickserv" (used to hide passwords in command "/msg nickserv") (bug #35705) Bug fixes:: * core: fix crash in focus hook for nicklist (bug #36271) * core: fix truncated configuration files (zero-length) after system crash (bug #36383) * core: fix display bugs and crashes with small windows (bug #36107) * core: fix display bug with prefix when length is greater than max and prefix is ending with a wide char (bug #36032) * core: fix lost scroll when switching to a buffer with a pending search * core: fix display of wide chars on last column of chat area (patch #7733) * api: display warning in scripts when invalid pointers (malformed strings) are given to plugin API functions (warning displayed if debug for plugin is >= 1) * scripts: fix type of argument "rc" in callback of hook_process() (from string to integer) * guile: fix crash on ARM when loading guile plugin (bug #36479) * guile: add missing function hook_process_hashtable() in API * irc: update channel modes by using chanmodes from message 005 (do not send extra command "MODE" to server), fix parsing of modes (bug #36215) * irc: hide everything after "identify" or "register" in messages to nickserv when option irc.look.hide_nickserv_pwd is on (bug #36362) * irc: set user modes only if target nick is self nick in message 221 (patch #7754) * irc: force the clear of nicklist when joining a channel (nicklist was not sync after znc reconnection) (bug #36008) * irc: do not send command "MODE #channel" on manual /names (do it only when names are received on join of channel) (bug #35930) * irc: do not allow the creation of two servers with same name but different case (fix error when writing file irc.conf) (bug #35840) * irc: update away flag for nicks on manual /who * irc: display privmsg messages to "@#channel" and "+#channel" in channel buffer (bug #35331) * irc: fix redirection of message when message is queued for sending on server * irc: check notify immediately when adding a nick to notify list, improve first notify message for a nick (bug #35731) * irc: fix display of color in hostname (join/part/quit messages) * irc: compute hash to find nick color for nick in server message when nick is not in nicklist * irc: close server buffer when server is deleted * irc: add search for lower case nicks in option irc.look.nick_color_force * logger: fix charset of lines displayed in backlog when terminal charset is different from UTF-8 (bug #36379) * perl: fix crash on quit on OS X * relay: keep spaces in beginning of "input" received from client (WeeChat protocol) * relay: fix crash on /upgrade when client is connected using WeeChat protocol * relay: redirect some irc messages from clients to hide output (messages: mode, ison, list, names, topic, who, whois, whowas, time, userhost) (bug #33516) * tcl: add missing function hdata_char() in API * tcl: fix pointer sent to function hook_signal_send() when type of data is a pointer Documentation:: * add Japanese FAQ (patch #7781) Build:: * perl: fix compilation on OS X (bug #30701) [[v0.3.7]] == Version 0.3.7 (2012-02-26) New features:: * core: add support of flags in regular expressions and highlight options * core: add type "hashtable" for hdata * core: add signals "buffer_line_added" and "window_switch" * core: add default keys kbd:[Ctrl+Left] / kbd:[Ctrl+Right] (`meta2-1;5D` / `meta2-1;5C`) for gnome-terminal * core: add option "hooks" in command /debug * core: add option weechat.look.scroll_bottom_after_switch (if enabled, restore old behavior before fix of bug #25555 in version 0.3.5) * core: add new option weechat.completion.base_word_until_cursor: allow completion in middle of words (enabled by default) (task #9771) * core: add option "jump_last_buffer_displayed" in command /input (key: kbd:[Alt+/]) (task #11553) * core: add option weechat.history.max_buffer_lines_minutes: maximum number of minutes in history per buffer (task #10900), rename option weechat.history.max_lines to weechat.history.max_buffer_lines_number * core: add optional arguments for command /plugin load/reload/autoload * core: use extended regex in filters (task #9497, patch #7616) * api: add modifier "input_text_for_buffer" (bug #35317) * api: add support of URL in hook_process() / hook_process_hashtable() (task #10247) * api: add new functions strcasecmp_range(), strncasecmp_range(), string_regex_flags(), string_regcomp(), hashtable_map_string(), hook_process_hashtable(), hdata_check_pointer(), hdata_char(), hdata_hashtable() and nicklist_get_next_item() * alias: add default alias /umode => /mode $nick * irc: add option "capabilities" in servers to enable client capabilities on connection * irc: add signal "irc_server_opened" * irc: add signal "xxx,irc_out1_yyy" and modifier "irc_out1_xxx" (outgoing message before automatic split to fit in 512 bytes) * irc: add alias "ctcp" for target buffer of CTCP messages * irc: add options irc.look.highlight_{server|channel|pv} to customize or disable default nick highlight (task #11128) * irc: use redirection to get channel modes after update of modes on channel, display output of /mode #channel, allow /mode without argument (display modes of current channel or user modes on server buffer) * irc: add optional server in info "irc_is_channel" (before channel name) (bug #35124), add optional server in info_hashtable "irc_message_parse" * irc: add case insensitive string comparison based on casemapping of server (rfc1459, strict-rfc1459, ascii) (bug #34239) * irc: add option irc.color.mirc_remap to remap mirc colors in messages to WeeChat colors * irc: allow URL "irc://" in command /connect * irc: use extended regex in commands /ignore and /list * guile: new script plugin for scheme (task #7289) * python: add support of Python 3.x (task #11704) * relay: add WeeChat protocol for remote GUI * xfer: display origin of xfer in core and xfer buffers (task #10956) Internationalization:: * add Japanese translations Bug fixes:: * core: fix expand of path `~` to home of user in function string_expand_home() (`~/xxx` was OK, but not `~`) * core: fix memory leak when closing buffer * core: fix memory leak in function util_search_full_lib_name() * core: automatically add newline char after last pasted line (when pasting many lines with confirmation) (task #10703) * core: fix bug with layout: assign layout number in buffers when doing /layout save * core: do not auto add space after nick completer if option weechat.completion.nick_add_space is off * core: fix signal "buffer_switch": send it only once when switching buffer (bug #31158) * core: move option "scroll_unread" from command /input to /window * core: save current mouse state in option weechat.look.mouse (set option when mouse state is changed with command /mouse) * core: apply filters after full reload of configuration files (with /reload) (bug #31182) * core: allow list for option weechat.plugin.extension (makes weechat.conf portable across Un*x and Windows) (task #11479) * core: display error in command /buffer if arguments are wrong (bug #34180) * core: fix help on plugin option when config_set_desc_plugin() is called to set help on newly created option * core: enable background process under Cygwin to connect to servers, fix reconnection problem (bug #34626) * aspell: fix URL detection (do not check spelling of URLs) (bug #34040) * irc: fix memory leak in SASL/blowfish authentication * irc: fix memory leak when a server is deleted * irc: fix self-highlight when using /me with an IRC bouncer like znc (bug #35123) * irc: use low priority for MODE sent automatically by WeeChat (when joining channel) * irc: do not use option irc.look.nick_color_stop_chars for forced nick colors (bug #33480) * irc: reset read marker of current buffer on manual /join * irc: fix crash when signon time in message 317 (whois, idle) is invalid (too large) (bug #34905) * irc: do not delete servers added in irc.conf on /reload (bug #34872) * irc: remove autorejoin on channels when disconnected from server (bug #32207) * irc: display messages kick/kill/mode/topic even if nick is ignored (bug #34853) * irc: display channel voice notices received in channel buffer (bug #34762), display channel/op notices sent in channel buffer * irc: auto-connect to servers created with "irc://" on command line but not other servers if "-a" ("--no-connect") is given * perl: increment count of hash returned by API (fix crash when script tries to read hash without making a copy) * relay: do not create relay if there is a problem with socket creation (bug #35345) * ruby: fix crash when reloading ruby plugin (bug #34474) Documentation:: * add developer's guide (task #5416) Build:: * core: add library "pthread" in cmake file for link on OpenBSD * core: add WEECHAT_HOME option in cmake and configure to setup default WeeChat home (default is "~/.weechat") (task #11266) * core: fix compilation under OpenBSD 5.0 (lib utf8 not needed any more) (bug #34727) * core: fix compilation error with "pid_t" on Mac OS X (bug #34639) [[v0.3.6]] == Version 0.3.6 (2011-10-22) New features:: * core: add color attribute "|" (keep attributes) and value "resetcolor" for function color() in plugin API (used by irc plugin to keep bold/reverse/underlined in message when changing color) (bug #34550) * core: add new option weechat.look.color_basic_force_bold, off by default: bold is used only if terminal has less than 16 colors (patch #7621) * core: add default key kbd:[F5] (`meta2-[E`) for Linux console * core: add "inactive" colors for inactive windows and lines in merged buffers, new options: weechat.look.color_inactive_window, weechat.look.color_inactive_buffer, weechat.look.color_inactive_message, weechat.look.color_inactive_prefix, weechat.look.color_inactive_prefix_buffer, weechat.look.color_inactive_time, weechat.color.chat_inactive_line, weechat.color.chat_inactive_window, weechat.color.chat_prefix_buffer_inactive_line * core: do automatic zoom on current window when terminal becomes too small for windows * core: add new options weechat.look.bar_more_left/right/up/down * core: add new option weechat.look.item_buffer_filter * core: allow name of buffer for command /buffer clear (task #11269) * core: add new command /repeat (execute a command several times) * core: save and restore layout for buffers and windows on /upgrade * core: add option "-all" in command /buffer unmerge * core: add number in windows (add optional argument "-window" so some actions for command /window) * core: allow buffer name in /buffer close * core: add support of mouse: new command /mouse, new key context "mouse", new options weechat.look.mouse and weechat.look.mouse_timer_delay (task #5435) * core: add command /cursor (free movement of cursor on screen), with key context "cursor" * core: automatic scroll direction in /bar scroll (x/y is now optional) * core: add optional delay for key grab (commands /input grab_key and /input grab_key_command, default is 500 milliseconds) * core: allow plugin name in command /buffer name * core: add context "search" for keys (to define keys used during search in buffer with kbd:[Ctrl+r]) * core: add new option weechat.look.separator_vertical, rename option weechat.look.hline_char to weechat.look.separator_horizontal * core: add local variable "highlight_regex" in buffers * core: add "hdata" (direct access to WeeChat/plugin data) * core: add option weechat.look.eat_newline_glitch (do not add new line at end of each line displayed) * core: add options "infolists", "hdata" and "tags" for command /debug * core: add horizontal scrolling for buffers with free content (command /window scroll_horiz) (task #11112) * core: change default value of option weechat.network.gnutls_ca_file to "/etc/ssl/certs/ca-certificates.crt" * api: add info "cursor_mode" * api: add new functions key_bind(), key_unbind(), hook_focus(), hdata_new(), hdata_new_var(), hdata_new_list(), hdata_get(), hdata_get_var_offset(), hdata_get_var_type(), hdata_get_var_type_string(), hdata_get_var_hdata(), hdata_get_var(), hdata_get_var_at_offset(), hdata_get_list(), hdata_move(), hdata_integer(), hdata_string(), hdata_pointer(), hdata_time(), hdata_get_string() * irc: allow reason for command /disconnect * irc: allow server name for commands /die and /restart * irc: add new info_hashtable "irc_message_split" * irc: add prefix "#" for all channels on join (if no prefix given) * irc: improve split of privmsg message (keep ctcp), add split of ison, join, notice, wallops, 005, 353 (bug #29879, bug #33448, bug #33592) * logger: add option logger.file.flush_delay (task #11118) Bug fixes:: * core: fix freeze when calling function util_file_get_content() with a directory instead of a filename * core: display timeout for hook_process() command only if debug for core is enabled (task #11401) * core: bufferize lines displayed before core buffer is created, to display them in buffer when it is created * core: fix display of background color in chat area after line feed * core: fix paste detection (problem with end of lines) * core: fix display of paste multi-line prompt with a root input bar (bug #34305) * core: replace deprecated GnuTLS function gnutls_certificate_client_set_retrieve_function() by new function gnutls_certificate_set_retrieve_function() (GnuTLS >= 2.11.0) * core: use dynamic buffer size for calls to vsnprintf() * core: fix memory leak in unhook of hook_connect() * core: fix memory leak in display of empty bar items * core: fix input of wide UTF-8 chars under Cygwin (bug #34061) * core: fix bugs with automatic layout (bug #26110), add support of merged buffers in layout (task #10893) * core: fix crash when invalid UTF-8 chars are inserted in command line (bug #33471) * core: stop horizontal bar scroll at the end of content (for bars with horizontal filling) (bug #27908) * core: fix crash when building hashtable string with keys and values * core: replace buffer name by window number in /bar scroll * core: fix bugs with key "^" (bug #32072, bug #21381) * core: fix bugs with bar windows: do not create bar windows for hidden bars * core: fix completion bug when two words for completion are equal but with different case * core: fix completion for command arguments when same command exists in many plugins (bug #33753) * core: fix freeze when hook_fd() is called with a bad file/socket (bug #33619) * core: fix bug with option weechat.look.hotlist_count_max (value+1 was used) * api: use arguments for infolist "window" to return only one window by number * api: fix bug with function config_set_desc_plugin() (use immediately description for option when function is called) * scripts: fix crash with scripts not auto-loaded having a buffer opened after /upgrade (input/close callbacks for buffer not set properly) * irc: fix display of items "away" and "lag" in root bars, refresh all irc bar items on signal "buffer_switch" (bug #34466) * irc: fix crash on malformed irc notice received (without message after target) * irc: add missing messages for whois: 223, 264, 343 * irc: use high priority queue for sending modes and wallchops messages * irc: rename info_hashtable "irc_parse_message" to "irc_message_parse" * irc: use color "default" for any invalid color in option weechat.color.chat_nick_colors * irc: send WHO command to check away nicks only if channel was not parted * irc: fix crash when malformed IRC message 352 (WHO) is received (bug #33790) * irc: fix crash when command "/buffer close" is used in a server command to close server buffer during connection (bug #33763) * irc: fix crash when /join command is executed on a non-irc buffer (bug #33742) * irc: fix bug with comma in irc color code: do not strip comma if it is not followed by a digit (bug #33662) * irc: switch to buffer on /join #channel if channel buffer already exists * irc: set host for nick on each channel message and nick change (if not already set) * irc: update host of nicks on manual /who * irc: fix memory leak on plugin unload (free ignores) * irc: fix memory leak in message parser (when called from other plugins like relay) (bug #33387) * relay: fix bug with self nick when someone changes its nick on channel (bug #33739) * relay: fix memory leak (free some parsed messages) (bug #33387) * relay: fix memory leak on plugin load (free raw messages) * perl: replace calls to SvPV() by SvPV_nolen() (patch #7436) Build:: * core: fix compilation error (INSTALLPREFIX undeclared) on OS X and when compiling with included gettext (bug #26690) [[v0.3.5]] == Version 0.3.5 (2011-05-15) New features:: * core: add buffer to hotlist if away is set on buffer (even if buffer is displayed), new option weechat.look.hotlist_add_buffer_if_away (task #10948) * core: add option "balance" in command /window (key: kbd:[Alt+w], kbd:[Alt+b]) * core: add option "swap" in command /window (key: kbd:[Alt+w], kbd:[Alt+s]) (task #11001) * core: add option weechat.look.hotlist_buffer_separator * core: add messages counts in hotlist for each buffer, new options: weechat.look.hotlist_count_max, weechat.look.hotlist_count_min_msg and weechat.color.status_count_{msg|private|highlight|other} * core: add tag "notify_none" (line with this tag will not update hotlist) * core: add optional bar name in command /bar default * core: add new option weechat.look.highlight_tags (force highlight on tags) * core: allow list of buffers in command /filter (exclusion with prefix "!") (task #10880) * core: allow relative size for command /window resize * core: add some default keys for gnome-terminal (kbd:[Home] / kbd:[End], kbd:[Ctrl+Up] / kbd:[Ctrl+Down], kbd:[Alt+PgUp] / kbd:[Alt+PgDn]) * core: add option "memory" in command /debug * core: add option weechat.look.read_marker_string * core: add some chars after cursor when scrolling input line: new option weechat.look.input_cursor_scroll (bug #21391) * core: add color "gray" * core: add attributes for colors ("*": bold, "!": reverse, "_": underline) * core: dynamically allocate color pairs (extended colors can be used without being added with command "/color"), auto reset of color pairs with option weechat.look.color_pairs_auto_reset * core: allow background for nick colors (using ":") * core: remember scroll position for all buffers in windows (bug #25555) * core: improve display of commands lists in /help (add arguments -list and -listfull) (task #10299) * core: improve arguments displayed in /help of commands * api: add new function config_set_desc_plugin() (task #10925) * api: add new functions buffer_match_list() and window_search_with_buffer() * aspell: add section "option" in aspell.conf for speller options (task #11083) * irc: add new options irc.color.topic_old and irc.color.topic_new * irc: add option "ssl_priorities" in servers (task #10106, debian #624055) * irc: add modifier "irc_in2_xxx" (called after charset decoding) * irc: add new options irc.look.buffer_switch_autojoin and irc.look.buffer_switch_join (task #8542, task #10506) * irc: add new option irc.look.smart_filter_nick * irc: add new options irc.look.color_nicks_in_nicklist and irc.look.color_nicks_in_names * irc: replace options irc.color.nick_prefix_{op|halfop|voice|user} by a single option irc.color.nick_prefixes (task #10888) Bug fixes:: * core: fix scroll in windows with /window scroll (skip lines "Day changed to") * core: recalculate buffer_max_length when buffer short name is changed (patch #7441) * core: do not update hotlist during upgrade * core: apply new value of option weechat.look.buffer_notify_default to all opened buffers * core: prohibit names beginning with "#" for bars, proxies, filters and IRC servers (bug #33020) * core: create default bars only if no bar is defined in configuration file * core: fix bug with repeat of last completion ("%*"), which failed when many templates are used in completion * core: reload file with certificate authorities when option weechat.network.gnutls_ca_file is changed * core: rebuild bar content when items are changed in an hidden bar * core: fix verification of SSL certificates by calling GnuTLS verify callback (patch #7459, CVE-2011-1428) * core: fix crash when using column filling in bars with some empty items (bug #32565) * core: fix terminal title when $TERM starts with "screen" * plugins: fix memory leaks when setting buffer callbacks after /upgrade (plugins: irc, relay, xfer, scripts) * aspell: fix spellers used after switch of window (bug #32811) * irc: fix parsing of message 332 when no topic neither colon are found (bug with bip proxy) * irc: fix nick color in private when option irc.look.nick_color_force is changed * irc: fix tags for messages sent with /msg command (bug #33169) * irc: fix memory leak when copying or renaming server * irc: do not rejoin channels where /part has been issued before reconnection to server (bug #33029) * irc: use nick color for users outside the channel * irc: update short name of server buffer when server is renamed * irc: fix local variable "away" on server buffer (set/delete it each time away is set or removed on server) * irc: ignore join if nick is not self nick and if channel buffer does not exist (bug #32667) * irc: fix crash when setting wrong value in option irc.server.xxx.sasl_mechanism (bug #32670) * irc: fix crash when completing /part command on a non-irc buffer (bug #32402) * irc: add many missing commands for target buffer (options irc.msgbuffer.xxx) (bug #32216) * lua: fix crash when many scripts are executing callbacks at same time * perl: fix memory leak when calling Perl functions (bug #32895) * relay: fix crash on /upgrade when nick in irc client is not yet set * relay: allow colon in server password received from client * relay: do not send join for private buffers to client * rmodifier: fix reload of file rmodifier.conf * rmodifier: fix crash when adding rmodifier with invalid regex * xfer: do not close chat buffers when removing xfer from list (bug #32271) Build:: * tcl: fix Tcl detection on some 64-bits systems (bug #32915) [[v0.3.4]] == Version 0.3.4 (2011-01-16) New features:: * core: add 256 colors support, new command /color, new section "palette" in weechat.conf (task #6834) * core: add info "weechat_upgrading", signal "upgrade_ended", display duration of upgrade * core: add new option weechat.look.highlight_regex and function string_has_highlight_regex() in plugin API (task #10321) * core: add new option weechat.look.hotlist_unique_numbers (task #10691) * core: add property "hotlist_max_level_nicks" in buffers to set max hotlist level for some nicks in buffer * core: add new options weechat.look.input_share and weechat.look.input_share_overwrite (task #9228) * core: add new option weechat.look.prefix_align_min (task #10650) * core: replace the 10 nick color options and number of nick colors by a single option weechat.color.chat_nick_colors (comma separated list of colors) * core: add color support in option weechat.look.buffer_time_format * api: add priority for hooks (task #10550) * api: add new functions: list_search_pos(), list_casesearch_pos(), hashtable_get_string(), hashtable_set_pointer(), hook_info_hashtable(), info_get_hashtable(), hook_hsignal(), hook_hsignal_send(), hook_completion_get_string(), nicklist_group_get_integer(), nicklist_group_get_string(), nicklist_group_get_pointer(), nicklist_group_set(), nicklist_nick_get_integer(), nicklist_nick_get_string(), nicklist_nick_get_pointer(), nicklist_nick_set() * irc: add option "-server" in command /join (task #10837) * irc: add option "-switch" in commands /connect and /reconnect * irc: add command /notify, new options irc.look.notify_tags_ison, irc.look.notify_tags_whois, irc.network.notify_check_ison, irc.network.notify_check_whois, new option "notify" in servers, new infolist "irc_notify" (task #5441) * irc: add new option irc.look.nick_color_force (task #7374) * irc: add command redirection with hsignals irc_redirect_pattern and irc_redirect_command (task #6703) * irc: add new options irc.color.nick_prefix and irc.color.nick_suffix * irc: add new option irc.look.item_away_message * irc: add tag "nick_xxx" in user messages * irc: move options from network section to server section: connection_timeout, anti_flood_prio_high, anti_flood_prio_low, away_check, away_check_max_nicks, default_msg_part, default_msg_quit (task #10664, task #10668) * irc: display old channel topic when topic is unset (task #9780) * irc: add new info_hashtable "irc_parse_message" * irc: add signal "irc_input_send" * irc: rename options irc.look.open_channel_near_server and irc.look.open_pv_near_server to irc.look.new_channel_position and irc.look.new_pv_position with new values (none, next or near_server) * rmodifier: new plugin "rmodifier": alter modifier strings with regular expressions (bug #26964) * relay: beta version of IRC proxy, now relay plugin is compiled by default * python: add info "python2_bin" (path to Python 2.x interpreter) Bug fixes:: * core: fix scroll problem on buffers with free content and non-allocated lines (bug #32039) * core: call to function hook_config() when config option is created * core: fix infinite loop on GnuTLS handshake when connecting with SSL to server on wrong port or server with SSL problems (bug #27487) * core: fix data sent to callback of hook_process() (some data was sometimes missing), use a 64KB buffer for child output and send data to callback only when buffer is full * core: fix crash when displaying groups in buffer nicklist * core: fix bug with message "day changed to", sometimes displayed several times wrongly * core: fix default value of bar items options (bug #31422) * core: fix bug with buffer name in "/bar scroll" command * core: optimize incremental search in buffer: do not search any more when chars are added to a text not found (bug #31167) * core: fix memory leaks when removing item in hashtable and when setting highlight words in buffer * core: use similar behavior for keys bound to local or global history (bug #30759) * alias: complete with alias value for second argument of command /alias * irc: differentiate notices from messages in private buffer (bug #31980) * irc: update nick modes with message 221 (bug #32038) * irc: fix bug with charset decoding on private buffers (decoding was made for local nick instead of remote nick) (bug #31890) * irc: allow command /reconnect on servers that are not currently connected (bug #30726) * irc: fix topic completion in command /topic when channel topic starts with channel name * irc: improve nick prefixes, all modes (even unknown) are used with PREFIX value from message 005 * irc: fix crash/bug when option "addresses" for a server is unset or changed when WeeChat is connected to this server (bug #31268) * irc: switch to next server address when IRC error is received after TCP connection but before message 001 (bug #30884) * irc: fix bug with hostmasks in command /ignore (bug #30716) * relay: split of messages sent to clients of irc proxy * scripts: add missing function infolist_reset_item_cursor() in API (bug #31057) * lua: fix crash when unloading script * xfer: fix dcc chat buffer name (use irc server in name) (bug #29925) * xfer: fix dcc file transfer for large files (more than 4 GB) on 32-bit systems (bug #31531) * xfer: fix bug at end of file sent, sometimes transfer is still active although file was successfully sent Build:: * core: add support of Python 2.7 in cmake and configure (debian #606989) * ruby: fix compilation with Ruby 1.9.2 (patch #7316) [[v0.3.3]] == Version 0.3.3 (2010-08-07) New features:: * core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032) * core: add keys for undo/redo changes on command line (default: kbd:[Ctrl+pass:none[_]] and kbd:[Alt+pass:none[_]]) (task #9483) * core: add new option weechat.look.align_end_of_lines * core: add new option weechat.look.confirm_quit * core: add new option weechat.color.status_name_ssl (task #10339) * core: add hashtables with new functions in plugin API * api: add function string_expand_home(), fix bug with replacement of home in paths * irc: add new option irc.look.nick_color_stop_chars * irc: add new options irc.look.display_host_join/join_local/quit and irc.color.reason_quit * irc: add command /wallchops, fix bug with display of notice for ops (task #10021, bug #29932) * irc: add isupport value in servers (content of IRC message 005), with new infos: irc_server_isupport and irc_server_isupport_value * irc: add message in private buffer when nick is back on server after a /quit * irc: add new options irc.network.autoreconnect_delay_growing and irc.network.autoreconnect_delay_max (task #10338) * irc: add missing commands 346, 347 (channel invite list) * irc: improve lag indicator: two colors (counting and finished), update item even when pong has not been received, lag_min_show is now in milliseconds * irc: move options weechat.color.nicklist_prefix to irc plugin * logger: use tag "no_log" to prevent a line from being written in log file Bug fixes:: * core: fix bug with scroll_unread: do not scroll to a filtered line (bug #29991) * core: fix crash with hook_process() (when timer is called on a deleted hook process) * core: fix display bug with special chars (ascii value below 32) (bug #30602) * core: fix display bug with attributes like underlined in bars (bug #29889) * api: fix bug with replacement char in function string_remove_color() (bug #30296) * irc: fix bug in parser when no argument is received after command, no callback was called, and message was silently ignored (bug #30640) * irc: fix import of certificates created by OpenSSL >= 1.0.0 (bug #30316) * irc: fix display of local SSL certificate when it is sent to server (patch #7218) * irc: use empty real name by default in config, instead of reading real name in /etc/passwd (bug #30111) * irc: fix bug with command-line option "irc://" (bug #29990), new format for port and channels * irc: fix display of messages 330 and 333 on some servers * irc: fix bug with nick prefix "*" (chan founder) on some IRC servers (bug #29890) * irc: fix bug with option irc.network.lag_check when value is 0 (zero) * irc: try other nick when connecting to server and receiving message 437 (nick unavailable) * irc: set buffer local variable "away" when opening new channel (bug #29618) * fifo: fix bug with fifo pipe when setting fifo option to "on" * xfer: fix bug with double quotes in DCC filenames (bug #30471) [[v0.3.2]] == Version 0.3.2 (2010-04-18) New features:: * core: add new options for command /key: listdefault, listdiff and reset * core: add new command /mute * core: add command line option "-s" (or "--no-script") to start WeeChat without loading any script * core: improve plugins autoload (option weechat.plugin.autoload): allow to use "*" as wildcard and "!" to prevent a plugin from being autoloaded (task #6361) * core: add option "switch_active_buffer_previous" in command /input (task #10141) * core: add new option weechat.look.time_format to customize default format for date/time displayed (localized date by default), add function util_get_time_string() in plugin API (patch #6914) * core: add new option weechat.look.command_chars, add functions string_is_command_char() and string_input_for_buffer() in plugin and script API * core: add new option weechat.look.read_marker_always_show * api: add "version_number" for function info_get() to get WeeChat version as number * api: add "irc_is_nick" for function info_get() to check if a string is a valid IRC nick name (patch #7133) * api: add functions string_encode_base64() and string_decode_base64(), fix bug with base64 encoding * api: add functions string_match(), string_has_highlight() and string_mask_to_regex() in script plugin API * api: add description of arguments for functions hook_info() and hook_infolist() * api: add signals "day_changed", "nicklist_group_added/removed", "nicklist_nick_added/removed" * alias: add custom completion for aliases (task #9479) * scripts: allow script commands to reload only one script * irc: add SASL authentication, with PLAIN and DH-BLOWFISH mechanisms (task #8829) * irc: add new option irc.look.part_closes_buffer to close buffer when /part is issued on channel (task #10295) * irc: add option "-open" in command /connect * irc: add option irc.network.connection_timeout (timeout between TCP connection to server and reception of message 001) * irc: add options irc.look.smart_filter_join and irc.look.smart_filter_quit * irc: add option irc.look.item_channel_modes_hide_key to hide channel key in channel modes (bug #23961) * irc: add option irc.look.item_nick_prefix * irc: add command /map * irc: add missing commands 276, 343 * logger: allow date format in logger options path and mask (task #9430) * xfer: add signal "xfer_ended" (patch #7081) Bug fixes:: * core: remove unneeded space after time on each line if option weechat.look.buffer_time_format is set to empty value (bug #28751) * core: use arguments for infolist "nicklist" to return only one nick or group * core: fix bug with writing of configuration files when disk is full (bug #29331) * core: fix infinite loop with /layout apply and bug when applying layout, sometimes many /layout apply were needed (bug #26110) * gui: refresh screen when exiting WeeChat (to display messages printed after /quit) * gui: fix bug with global history, reset pointer to last entry after each user input (bug #28754) * gui: fix bug with bar background after text with background color (bug #28157) * gui: fix bug with cursor when position is last char of terminal * api: add missing infos in functions buffer_get_{integer|string}() and in buffer infolist * api: fix function color() in Lua script API * api: fix "inactivity" value when no key has been pressed since WeeChat started (bug #28930) * api: return absolute path for info_get() of "weechat_dir" (bug #27936) * scripts: fix bug with callbacks when loading a script already loaded * perl: fix crash when multiplicity is disabled * perl: fix crash when callbacks are called during script initialization (bug #29018) * perl: fix crash on /quit or unload of plugin under FreeBSD and Cygwin (bug #29467) * perl: fix bug with script filename when multiplicity is disabled (bug #29530) * irc: fix crash with SSL connection if option ssl_cert is set (bug #28752) * irc: fix bug with SSL connection (fails sometimes when ssl_verify is on) (bug #28741) * irc: fix bug with nicks on reconnection: try all nicks in list, even if nick used was not the first in list of nicks * irc: fix command /list: send channel and server name given as argument, and use separate option "-re" to allow a regex * irc: fix PART message received on Undernet server (bug #28825) * irc: fix bug with /away -all: set or unset future away for disconnected servers (bug #29022) * irc: fix bug with prefix "!" for mode "a" (channel admin) (bug #29109) * irc: do not send signals "irc_in" and "irc_in2" when messages are ignored, add new signals "irc_raw_in" and "irc_raw_in2" * irc: apply smart filter only on channels, not private buffers (bug #28841) * xfer: fix crash when purging old xfer chats (bug #28764) Build:: * irc: fix compilation with old GnuTLS versions (bug #28723) [[v0.3.1.1]] == Version 0.3.1.1 (2010-01-31) Bug fixes:: * irc: fix crash with SSL connection if option ssl_cert is set (bug #28752) * irc: fix bug with SSL connection (fails sometimes when ssl_verify is on) (bug #28741) * xfer: fix crash when purging old xfer chats (bug #28764) Build:: * irc: fix compilation with old GnuTLS versions (bug #28723) [[v0.3.1]] == Version 0.3.1 (2010-01-23) New features:: * core: add option "grab_key_command" in command /input (bound by default to kbd:[Alt+k]) * alias: new expansions for alias arguments ($n, $-m, $n-, $n-m, $*, $~) (patch #6917) * alias: allow use of wildcards for /alias list (patch #6925) * alias: allow /unalias to remove multiple aliases (patch #6926) * irc: add new commands /allchan and /allserv with excluding option, commands /ame and /amsg are now aliases, new aliases /aaway and /anick * irc: add options to customize target buffer for messages (task #7381) * irc: add new output queue for messages with low priority (like automatic CTCP replies), high priority is given to user messages or commands * irc: use self-signed certificate to auto identify on IRC server (CertFP) (task #7492, debian #453348) * irc: check SSL certificates (task #7492) * irc: add option "autorejoin_delay" for servers (task #8771) * irc: add option to use same nick color in channel and private (task #9870) * irc: add missing command 275 (patch #6952) * irc: add commands /sajoin, /samode, /sanick, /sapart, /saquit (task #9770) * irc: add options for CTCP, to block/customize CTCP reply (task #9693) * irc: add missing CTCP: clientinfo, finger, source, time, userinfo (task #7270) * irc: add all server options for commands /server and /connect * irc: add arguments for command /rehash * irc: improve mask used by command /kickban * xfer: add color for nicks in chat * xfer: add missing command /me (bug #28658) * gui: add color "darkgray", add support for background with light color Bug fixes:: * core: fix bug with script installation on BSD/OSX (patch #6980) * core: fix compilation under Cygwin (patch #6916) * core: fix plural form in translation files (bug #27430) * core: fix terminal title bug: do not reset it when option weechat.look.set_title is off (bug #27399) * core: fix buffer used by some input functions called via plugin API with buffer pointer (bug #28152) * alias: fix bug with buffer for execution of alias, when called from plugin API with function command() (bug #27697) * alias: fix bug with arguments (bug #27440) * irc: improve error management on socket error (recv/send) * irc: fix nick color for nicks with wide chars (bug #28547) * irc: fix autorejoin on channels with key * irc: fix command /connect (options -ssl, -ipv6 and -port) (bug #27486) * xfer: add missing charset decoding/encoding for IRC DCC chat (bug #27482) * fifo: remove old pipes before creating new pipe * gui: fix color "black" (bug #23882, debian #512957) * gui: fix message "Day changed to", sometimes displayed at wrong time (bug #26959) * gui: fix bug with URL selection in some terminals (caused by horizontal lines) (bug #27700) * gui: use default auto completion for arguments of unknown commands * gui: fix alignment problem for buffer name when a merged buffer is closed (bug #27617) * gui: update hotlist when a buffer is closed (bug #27470), remove buffer from hotlist when buffer is cleared (bug #27530) * gui: fix /input history_global_next: reset input content when last command in history is reached * api: fix function bar_set() for python/lua/ruby (patch #6912) Build:: * core: fix cmake directories: let user customize lib, share, locale and include directories (patch #6922) * ruby: add support of Ruby >= 1.9.1 (patch #6989) [[v0.3.0]] == Version 0.3.0 (2009-09-06) New features:: * core: add group support in nicklist * core: add /reload command to reload WeeChat and plugins config files (signal SIGHUP is caught to reload config files) * core: add new /layout command and save_layout_on_exit config option, to save/restore windows and buffers order (task #5453) * core: add new options for completion, optional stop instead of cycling with words found (task #5909) * core: new name for configuration files (*.conf instead of *.rc) * core: improve /set command, new command /unset (task #6085) * core: add new input action "set_unread_current_buffer" to set unread marker for current buffer only (task #7286) * core: remove key functions, replaced by /input command * core: add argument with buffer number/range for command "/buffer close" (task #9390, task #7239) * core: add new command /wait (schedule a command execution in future) * core: improve main loop: higher timeout in select(), less CPU usage * gui: new display engine, with prefix and message for each line * gui: add new type of buffer, with free content * gui: add tags for lines and custom filtering by tags or regex (task #7674) * gui: add buffer merging (task #7404) * gui: add custom bars, with custom items * gui: add key to zoom a window (task #7470) * gui: add keys to move into last visited buffers: kbd:[Alt+<] and kbd:[Alt+>] * gui: come back to last visited buffer when closing a buffer * gui: add new option scroll_page_percent to choose percent of height to scroll with kbd:[PgUp] and kbd:[PgDn] keys (task #8702) * gui: add number of lines remaining after last line displayed in "-MORE-" indicator (task #6702) * network: add support for more than one proxy, with proxy selection for each IRC server (task #6859) * aspell: improve plugin: use of many dictionaries, global dictionary, real time checking (optional), fix bugs with utf-8 * irc: add irc plugin (replaces old IRC code in core) (task #6217) * irc: add smart join/part/quit message filter (task #8503) * irc: use of many addresses for servers (auto-switch when a connection fails), nicks are now set with one option "nicks" (task #6088) * irc: add some colors in messages from server (for text and nicks) (task #8926) * irc: add color decoding in title for IRC channels (task #6030) * irc: add missing commands (328, 369) * logger: add logger plugin with new features: backlog, level for messages to log (task #8592), level by buffer (task #6687), filename mask by buffer, option "name_lower_case" (bug #19522) * relay: add relay plugin (network communication between WeeChat and remote application) * xfer: add speed limit for DCC files sending (task #6178) * xfer: add new option xfer.file.use_nick_in_filename for Xfer files (task #7140) * plugins: add some other plugins: alias, demo, fifo, tcl, xfer * scripts: new scripts: weeget.py (script manager), jabber.py (jabber/XMPP protocol), go.py (quick jump to buffers), buffers.pl (sidebar with list of buffers), iset.pl (set options interactively), weetris.pl (tetris-like game), mastermind.pl, ... * api: add hooks: command, timer, file descriptor, process, connection, print, signal, config, completion, modifier, info, infolist * api: new plugin API with many new functions: hooks, buffer management and nicklist, bars, configuration files, network, infos/infolists, lists, upgrade Internationalization:: * add Polish translations Bug fixes:: * core: fix nick completion bug (missing space after nick) * gui: fix completion with non-latin nicks (bug #18993) * gui: fix display bug with some weird UTF-8 chars (bug #19687) * gui: fix bug with wide chars in input (bug #16356) * gui: fix bug when switching window, scrollback is now preserved (task #7680) * network: fix network connection for hostnames resolving to several IPs: try all IPs in list until one succeeds (bug #21473, debian #498610) * alias: fix bug with alias, use current buffer to run commands (bug #22876) * irc: fix lock with SSL servers when connection fails, and when disconnecting during connection problem (bug #17584) * irc: command /whois is now authorized in private without argument (task #7482) * irc: fix private buffer name with Irssi proxy (bug #26589) * irc: remove kernel info in CTCP VERSION reply (task #7494) * irc: fix mode parsing when receiving modes with arguments (bug #26793) * scripts: do not auto-load hidden files (bug #21390) [[v0.2.6.3]] == Version 0.2.6.3 (2009-06-13) Bug fixes:: * fix GnuTLS detection (use pkg-config instead of libgnutls-config) (bug #26790) [[v0.2.6.2]] == Version 0.2.6.2 (2009-04-18) Bug fixes:: * fix bug with charset decoding (for example with iso2022jp) (bug #26228) [[v0.2.6.1]] == Version 0.2.6.1 (2009-03-14) Bug fixes:: * fix crash with some special chars in IRC messages (bug #25862, CVE-2009-0661) [[v0.2.6]] == Version 0.2.6 (2007-09-06) New features:: * add new option "deloutq" to /server command to delete all servers messages out queues (task #7221) * add string length limit for setup file options * add option to align text of messages (except first lines) (task #7246) * add paste detection, new options look_paste_max_lines and col_input_actions (task #5442) * add support of channel mode +u (channel user) (bug #20717) * improve /connect command to connect to a host by creating a temporary server, add option to /server to create temporary server (task #7095) * add "copy", "rename" and "keep" options to /server command * allow clear of multiple selected buffers with /clear (patch #6112) * add key for setting unread marker on all buffers (default: kbd:[Ctrl+s], kbd:[Ctrl+u]) (task #7180) * improve command /server ant its output * add 3 default new keys: kbd:[Ctrl+b] (left), kbd:[Ctrl+f] (right), kbd:[Ctrl+d] (delete) * add "buffer_move" event handler to plugins API (task #6708) * add key function "jump_previous_buffer" to jump to buffer previously displayed (new key: kbd:[Alt+j], kbd:[Alt+p]) (task #7085) * add "%*" to completion template, to repeat last completion * add "-nojoin" option for /connect and /reconnect commands (task #7074) * add "scroll" option to /buffer command * down key now saves input to history and clears input line (task #7049) * command /away allowed when not connected to server (internally stored and AWAY command is sent when connecting to server) (task #7003) * add argument for /upgrade command (path to binary) * add hotlist sort with new option "look_hotlist_sort" (task #5870) Bug fixes:: * fix bug with log of plugin messages (option log_plugin_msg) * fix display bug with some special chars in messages (some words were truncated on screen) (bug #20944) * fix UTF-8 bug with color encoding/decoding * fix crash when searching text in buffer with kbd:[Ctrl+r] (bug #20938) * fix bug with flock() when home is on NFS filesystem (bug #20913) * fix user modes in nicklist when ban and nick mode are received in the same MODE message (bug #20870) * fix IRC message 333: silently ignore message if error when parsing it * fix server option "command_delay": does not freeze WeeChat any more * fix bug with highlight and UTF-8 chars around word (bug #20753) * fix nick prefix display on servers that doesn't support all prefixes (bug #20025) * fix terminal encoding detection when NLS is disabled (bug #20646) * fix crash when sending data to channel or pv on disconnected server (bug #20524) * fix bugs with IRC color in messages, now color codes are inserted in command line with kbd:[Ctrl+c], kbd:[Ctrl+b].. instead of %C,%B,.. (bug #20222, task #7060) * fix bug with smart nick completion (last speakers first) when a nick is changed * fix charset bug with channel names in status bar (bug #20400) * fix log file when channel name contains "/" (bug #20072) * fix bug with /topic when channel not open and topic not defined (bug #20141) Documentation:: * add Swedish quickstart guide [[v0.2.5]] == Version 0.2.5 (2007-06-07) New features:: * add missing IRC commands (327, 378, 379) (bug #20091) * add "%M" for completion with nicks of current server (nicks on open channels) (task #6931) * improve key bindings: now possible to bind a key on many commands, separated by semicolon (task #5444) * improve IRC long message split: use word boundary (task #6685) * add protocol priority for GnuTLS (patch #5915) * add channel admin mode "!" for some IRC servers * add /reconnect command (task #5448) * add "-all" option for /connect and /disconnect commands (task #6232) * improve nick completion: completion with last speakers first and self nick at the end; add option look_nick_completion_smart, enabled by default (task #5896) * add color for input text not found in buffer history Bug fixes:: * fix /quote command: now allowed when socket is OK (even if IRC connection to server is not OK) (bug #20113) * fix hotlist when exiting search mode: current buffer is removed from hotlist * remove ":" for unknown IRC commands before arguments (bug #19929) * fix "%C" completion: now completes with all channels of all servers * fix bug with "/buffer query_name", add server and channel completion for /buffer command (bug #19928) * fix IRC mode parsing when receiving modes with arguments (bug #19902) * fix crash with IRC JOIN malformed message (bug #19891) * fix bug with nick prefixes on some IRC servers (bug #19854) * improve setup file save: now writes temporary file, then rename it (task #6847) * fix bug with $nick/$channel/$server variables in commands * forget current nick when user manually disconnects from server * fix nick display in input window * fix bug with erroneous nickname when connecting to server (bug #19812) * fix display bugs in IRC error messages * fix bug with iso2022jp locale (bug #18719) * fix string format bug when displaying string through plugin script API * fix nick completion in command arguments (bug #19590) * fix possible crash with nick completion when a nick leaves channel (bug #19589) * fix USER message when connecting to IRC server (patch #5835) Build:: * add cmake for weechat compilation (patch #5943) [[v0.2.4]] == Version 0.2.4 (2007-03-29) New features:: * rename log file for DCC chat (now .dcc..weechatlog) * add current buffer in hotlist when scrolling up in buffer (task #6664) * improve password hiding, code cleanup (bug #19229) * add new return code in plugin API to force highlight (for message handlers only) * add "call" option to /key command, add new key function "insert" to insert text on command line (task #6468) * add event handler to plugin API * add numeric argument for /clear command (buffer number) (patch #5372) * add new key (kbd:[Ctrl+r]) for interactive and incremental search in buffer history (task #6628) Bug fixes:: * fix color bug with IRC messages displayed by plugins (bug #19442) * fix topic charset, now using channel charset if defined (bug #19386) * fix crash when closing a pv if a DCC chat is open on same nick (bug #19147) * fix bug with channel topic after reconnection (not erased) (bug #19384) * fix bug with explode_string / free_exploded_string when max_items > 0 * fix /topic completion when no topic set on current channel (bug #19322) * fix bug with server buffer when "look_one_server_buffer" is ON and server buffer is moved to any number > 1 (bug #19219) * fix /help command: displays plugin help for redefined commands (bug #19166) * prefix "/" disabled in commands (patch #5769) * fix completion of redefined commands removed by plugins (bug #19176) * fix memory leaks in perl and python plugins (bug #19163) * fix permissions on "dcc" and "logs" directories (bug #18978) * fix crash when /away command is issued with no server connection (bug #18839) * fix crash when closing a buffer opened on many windows * fix freeze with SSL server when disconnecting after connection loss (bug #18735) Documentation:: * add Scots quickstart guide [[v0.2.3]] == Version 0.2.3 (2007-01-10) Bug fixes:: * fix display bugs with nicklist at top/bottom when look_nicklist_separator is OFF (bug #18737) * fix iconv problem, causing truncated words when using iso locale * fix topic scroll when topic has multi-bytes chars * fix bugs with charset: now decodes/encodes nicks and channels in IRC messages (bug #18716) Build:: * fix compilation problem with iconv under FreeBSD [[v0.2.2]] == Version 0.2.2 (2007-01-06) New features:: * add anti-flood option (irc_anti_flood) (task #5442) * plugins: "add_message_handler" now accepts "*" for all IRC messages * add keys (kbd:[F9] / kbd:[F10]) to scroll topic (task #6030) * add auto completion with channels and filenames (task #5423) * add option "look_nicklist_separator" (task #5437) * add "irc_send_unknown_commands" option to send unknown commands to IRC server (OFF by default) (task #5947) * /charset command and charset conversions now made by "charset" plugin * add filename completion (task #5425) * add "modifier" in plugins API * improve /plugin command * add date in plugin function get_buffer_data() * add more values for config boolean values: y/true/t/1 and n/false/f/0 Bug fixes:: * fix bug with status bar (missing refresh) when closing a buffer * fix bug with use of first buffer for a channel if not connected to server (now allowed only for a server buffer) * fix refresh bug with private buffer title * fix bug with nick completion in command arguments (now uses option look_nick_completion_ignore) * fix display bug with color for first line on screen (bug #17719) * fix bug with set_config() function in plugins API (bug #18448) * fix memory leak in keyboard input * fix refresh bug when changing config options if window is split * add space between chat and nicklist when position is "right" (bug #17852) * fix bug with DCC SEND when filename begins with "~" * fix display bug in status bar, wrong length when using UTF-8 * fix bug with ignore: now any IRC command is allowed * fix crash with kbd:[Ctrl+t] (transpose) and one char on line (bug #18153) * fix bug on ignore with "mode" IRC command (bug #18058) * fix crash when loading ruby script if file does not exist, with Ruby >= 1.9 only (bug #18064) * mode changes with /op, /deop, /voice, /devoice, /halfop, /dehalfop are now sent in one mode command to server (task #5968) * fix bug with /alias and arguments (like $1), now text after argument(s) is used (bug #17944) * fix minor display bug with special chars on some arch like PPC Build:: * fix some portability bugs (patch #5271) * fix iconv detection for BSD (patch #5456) * fix typo in configure.in (bash specific test) (patch #5450) [[v0.2.1]] == Version 0.2.1 (2006-10-01) New features:: * command "/away -all" now allowed when not connected to current server * new signals handled: SIGTERM and SIGHUP (received when terminal is closed): clean WeeChat quit (send quit to irc servers then quit WeeChat) * add some new default key bindings for existing keys (for some OS) * command /key now OK with one argument (key name): display key if found * add current channel completion for /ctcp command * values yes/no accepted (as on/off) for config boolean values (task #5454) * add server default notify level (set by /buffer notify on server buffer) (task #5634) * add special vars $nick/$channel/$server for server_command, alias and plugin command handlers * add arguments $1,$2,..,$9 and $* for alias (task #5831) * add hotlist in session file when using /upgrade command (task #5449) Bug fixes:: * fix crash for DCC receiver when resuming a file (bug #17885) * fix DCC error for sender when receiver cancels DCC (bug #17838) * fix random crash with /upgrade command (error when loading buffers) * fix buffer search by server/channel: now if only channel is specified, a channel of another server can be found * fix highlight for DCC, invite and notice: when a window is displaying buffer, there's no highlight * fix bug with CTCP VERSION sent on channels (bug #17547) * fix bugs in get_buffer_data() which breaks the retrieval of buffer content (perl, lua) * fix nicklist display bug when top/bottom (not enough lines) (bug #17537) * fix bug with auto-rejoin of keyed channels (bug #17534) * add default nick completion when line starts with "//" (bug #17535) * fix crashes with /buffer and /charset commands when not connected to any server (bug #17525) * fix nick refresh problem with unrealircd specific modes: chan owner (~) and chan admin (&) (bug #17340) [[v0.2.0]] == Version 0.2.0 (2006-08-19) New features:: * add "C"lear option on IRC raw buffer * IRC raw buffer now uses join/part prefix with color to display messages * add send of "quit" message to server when using /disconnect * add "%m" for completion with self nick (on current server) * add missing IRC commands (310, 326, 329, 338) * improve DCC speed (up to x5 on LAN) by forking for DCC files and a new option "dcc_fast_send" (does not wait for ACK) (task #5758) * add "look_save_on_exit" option (patch from Emanuele Giaquinta) * add new functions in plugin/script API: get window info, get buffer info, get buffer content * add color encoding for some commands like /me * add aspell plugin Bug fixes:: * fix "wallops" command when received, now displayed by WeeChat (bug #17441) * fix /wallops command (now many words are correctly sent) * fix command 348 (channel exception list, received by /mode #chan e) * add missing modes (channel & user), now all modes are allowed (bug #16606) * fix DCC restore after /upgrade (order is now correctly saved) * fix away after server disconnection (now away is set again when reconnecting) (bug #16359) * fix DCC file connection problem (connection from receiver to sender) * fix crash when purging DCC with high number of DCC (> window size) * fix completion for command handlers (now empty completion_template means nick completion, "-" string means no completion at all) * fix nick alignment problem when look_nickmode is off * add generic function for incoming numeric IRC commands (bug #16611) * fix crash when doing "/part something" on a server buffer (bug #17201) * charsets are now checked when set by /charset command * fix crash on DCC buffer under Darwin 8 (bug #17115) * fix bug with spaces in script names (bug #16957) * fix random crash when "MODE #chan -l" is received * fix bug in IRC parser (random crash with malformed IRC messages) * fix refresh bugs when terminal is resized: too many refreshes, display bug with split windows * case ignored for channel names in charset options (bug #16858) * fix crash when setting look_one_server_buffer to ON (bug #16932) * fix display bug with special char (bug #16732) * rename plugins names (remove "lib" prefix in name) * fix crash when closing DCC/raw buffer if 2 are open (bug #16808) * fix crashes with DCC chat remove/purge on DCC view (bug #16775) * fix bug with connection to bnc (bug #16760) * command /save now writes plugins options (~/.weechat/plugins.rc) * fix crash with register() function in plugin scripts (bug #16701) * fix random crash at exit (/quit or /upgrade) with split windows Documentation:: * add Polish, Russian and Czech quickstart guide Build:: * add configure option for doc XSL prefix (bug #16991) [[v0.1.9]] == Version 0.1.9 (2006-05-25) New features:: * add backtrace when WeeChat crashes, log file automatically renamed * add new key to find previous completion (kbd:[Shift+Tab] by default) * add missing IRC commands (006, 007, 290, 292, 310, 379, 437, 974) * add new option to customize input prompt * add nick modes * add hostnames associated to nicks (available for /ban completion) * add "+p" mode for channels, fix mode display in status bar * add nick alignment options * add keyboard handler to plugin API * improve script plugin loader * add hostname/IP option for connection to server * add /setp command (set plugin options) * aliases are executed before WeeChat/IRC commands, add /builtin command * add /cycle command, /part command does close buffer any more Internationalization:: * add Russian translations (thanks to Pavel Shevchuk) Bug fixes:: * fix /squery command (message sent to server, now OK with more than two arguments) * fix /alias command (with an alias name, display content) * add lock for log file (~/.weechat/weechat.log), only one WeeChat process can use this file (bug #16382) * fix crash with malformed UTF-8 strings * fix crash with ncurses color when too many colors defined in ncurses (bug #16556) * fix bug with long outgoing IRC messages (> 512 bytes) (bug #16358) * fix Ruby crash when handler does not return OK or KO (bug #16552) * fix UTF-8 display bug with chars using more than one cell on screen (bug #16356) * fix display bug with DCC file size when > 1 GB * fix refresh bug (deadlock in curses) when terminal is resized (bug #16542) * fix nicklist sort bug * fix crash when multiple pv have same name: now it's forbidden and pv buffer is not renamed (when a nick changes) if another exists with same name (bug #16369) * command /clear [-all] now clears hotlist * fix crash after /upgrade if a line in history is empty (bug #16379) * fix many crashes with DCC chat (bug #16416) * fix commands 332, 333 (/topic now OK when channel is not opened) * remove color encoding and charset conversion for commands (only allowed in text sent to channel/private) * fix /names command: now displays result when not on a channel * fix refresh bug (too many refresh) when terminal is resized * fix nicklist display bugs when on top or bottom of chat window * fix high CPU usage when running under a Screen that has been killed Documentation:: * add German doc (thanks to Frank Zacharias) Build:: * fix --disable-plugins option in configure script * improve Lua detection (bug #16574) [[v0.1.8]] == Version 0.1.8 (2006-03-18) New features:: * improve alias completion (now uses target command for completion) * add missing IRC command (487) * add inactivity time, available for plugins via get_info("inactivity") * add keys kbd:[Alt+Home] / kbd:[Alt+End] to scroll top/bottom, kbd:[Alt+F11] / kbd:[Alt+F12] to scroll nicklist top/bottom * add special names for plugin message handlers: weechat_pv, weechat_highlight, weechat_ctcp, weechat_dcc * add IRC raw data buffer (new key: kbd:[Alt+j], kbd:[Alt+r]) * add new plugins functions: add_timer_handler(), remove_timer_handler(), remove_infobar() * plugin messages handlers now called when message is ignored (by /ignore) * new behavior for messages ignored by a message handler: now WeeChat executes standard handler, treating message as "ignored" * many commands allowed for aliases * many commands allowed when connecting to server * add Lua script plugin * add functions in plugins API: get_server_info(), free_server_info(), get_channel_info(), free_channel_info(), get_nick_info(), free_nick_info() * add option "look_nick_complete_first" (patch from Gwenn) * add option "look_open_near_server" (patch from Gwenn) * add new scroll keys for a few lines up/down (default: kbd:[Alt+PgUp] / kbd:[Alt+PgDn]) (patch from Pistos) * add new option "irc_away_check_max_nicks" to disable away check on channels with high number of nicks (patch from Gwenn) * add new command line argument for setting WeeChat home dir (-d or --dir) (patch from Gwenn) * add option "irc_show_away_once", to show away message only once in pv Internationalization:: * add partial Hungarian translations Bug fixes:: * improve Ruby plugin * fix /set command when internal server name contains one or many dots * fix get_info plugin API function when no server at all is opened * fix display bug when top of buffer is displayed and first line is removed (according to "history_max_lines" setting) * fix /mode command output * fix completion problem in private with nicks * script plugins now load scripts in WeeChat system share directory * /msg command does not open any buffer any more * fix crash when using global history (when older entry is removed) * fix display bug with /kill command * fix bug with /upgrade and servers buffer * fix bug with get_dcc_info() plugin interface function * fix bug with charset in infobar highlights * fix bug with buffer detection in plugins/scripts commands * fix bug with /history command [[v0.1.7]] == Version 0.1.7 (2006-01-14) New features:: * remove "irc_default_msg_away" setting, for RFC 2812 conformity (/away command without argument only removes away status), new values for "irc_display_away" (off, local, channel) * add color for window separators (when split) * add completion system for plugins/scripts commands * add charset by server and channel, new command: /charset * add Ruby script plugin * add /upgrade command * add ETA (Estimated Time of Arrival) for DCC files * /nick command is now allowed when not connected to server * add server/channel argument to /buffer command for jumping to buffer * add new keys for switching to other windows: kbd:[Alt+w], kbd:[Alt+Arrow] * add new keys for scrolling to previous/next highlight: kbd:[Alt+p] / kbd:[Alt+n] * add "read marker": an indicator for first unread line in a server or channel buffer (new key kbd:[Alt+u] to scroll to marker) * new window management: custom size for windows, auto resize when terminal is resized * add /history command Bug fixes:: * fix msg command (now allowed in private buffer with "*" as target) * fix refresh bug with Solaris when term size is changed * fix plugins autoload * fix display bug in chat window when a message length equals to window width * fix infinite loop when resizing term to small size Build:: * replace Texinfo doc by XML Docbook [[v0.1.6]] == Version 0.1.6 (2005-11-11) New features:: * new color management system, IRC colors are now correctly displayed and can be removed by new options irc_colors_receive and irc_colors_send * add setting for having one server buffer for all servers (look_one_server_buffer) * add setting for ignoring some chars when completing nicks * signal SIGPIPE is now ignored * add partial match for highlights * add dcc_own_ip and dcc_port_range settings * full UTF-8 support, auto-detection of UTF-8 usage (locale) * add "Day changed to [date]" message when day changes * new plugin interface, rewritten from scratch: now loads dynamic C library, and perl/python are script plugins * log options (for server/channel/private) can now be set while WeeChat is running * add channel modes +e and +f * add some missing IRC commands, fix command 367 * add colors for input buffer and current channel of status bar * add online help for config options (with /set full_option_name) * enhanced "smart" hotlist, with names (new options: look_hotlist_names_{count|level|length}) Bug fixes:: * fix scroll problem when one line is bigger than screen size * fix IRC message parser bug [[v0.1.5]] == Version 0.1.5 (2005-09-24) New features:: * add /ame command (send CTCP action to all channels of all connected servers) * add setting "irc_notice_as_pv" to see notices as pv * add nicks colors in setup file * add some missing IRC commands * add /ignore and /unignore commands * signal SIGQUIT is now ignored * jump to next server now saves current channel buffer for each server * add keys kbd:[Ctrl+Up] / kbd:[Ctrl+Down] to call previous/next command in global history (common to all buffers) Bug fixes:: * fix DCC bug: delete failed file only if really empty (on disk) * fix IRC message parser bug * fix scroll problem (screen moving when scrolling and new line displayed) * fix infinite loop when scrolling back and displaying long lines * fix crash when closing a buffer used by more than one window * fix DCC display bug (now decodes string according to charset) * fix bug with strings comparison (str[n]casecmp) and some locales (like Turkish), now using ASCII comparison (thanks to roktas) * fix refresh bug when one line is bigger than screen size * fix look_nicklist_min_size and look_nicklist_max_size options * fix refresh bug when changing channel modes [[v0.1.4]] == Version 0.1.4 (2005-07-30) New features:: * join and part/quit prefixes (arrows) now displayed with different colors * add "irc_highlight" setting, to get highlight with any word * add /amsg command (send text to all channels of all connected servers) * add color for private in hotlist (different than color for highlight) * add DCC resume and timeout * add function for Perl/Python to get DCC list * new keyboard management: keys are setup in config file, add new command /key, add some new default keys, kbd:[Alt+k] is used to grab key (useful for /key command) * add seconds in infobar time (optional thanks to new setting) * add auto-prefix with "#" for channels (if no prefix found), with /join command Bug fixes:: * fix auto-rejoin for channels with key * fix /ctcp command (now any command/data allowed) * fix SIGSEGV handler (now write a core file by aborting program) * fix statusbar & infobar background refresh problem with some systems * fix FIFO pipe (command now authorized on a buffer not connected to an IRC server) * topic completion now decodes UTF-8 string * fix bug with IRC URL on command line (irc://) * fix some curses refreshes [[v0.1.3]] == Version 0.1.3 (2005-07-02) New features:: * proxy support (http, socks4, socks5) with authentication (http, socks5) and ipv6 support (client to proxy) * add completion for config option (with /set command) * commands from users outside channel now authorized (if special user or channel without "n" flag) * add IPv6 support * kill command now received and displayed * add SSL support * channel notify levels are saved in config file (new option "server_notify_levels" for server sections) * part message now accepts %v (replaced by WeeChat version), like quit message Bug fixes:: * errors while loading perl scripts are now displayed in server buffer (instead of current buffer) * in python scripts, all messages written in stdin and stderr are redirected in server buffer * fix a filename error while loading a python script manually * fix plugins print() and prnt() functions: now OK for writing on server buffers * fix color problem with new libcurses version * fix crash when using kbd:[Alt+s] or kbd:[Alt+x] on DCC buffer (kbd:[Alt+d]) * fix startup crash when config file (~/.weechat/weechat.rc) is not found Build:: * improve Perl/Python libs detection for ./configure script [[v0.1.2]] == Version 0.1.2 (2005-05-21) New features:: * add Python plugin support, improve Perl interface (and now Perl/Python libraries are checked by configure script) * add nicklist scroll keys (kbd:[Alt+Home] / kbd:[Alt+End] / kbd:[Alt+PgUp] / kbd:[Alt+PgDn] or kbd:[F11] / kbd:[F12]) * add transfer rate for DCC files * add "-all" option for /nick command * buffers timestamp can now be changed (new option in config file) * add missing IRC commands (307, 341, 485, 671) Bug fixes:: * fix nicklist sort * fix crash when purging old DCC * fix crash with 64-bits arch (like AMD64) when converting UTF-8 Build:: * WeeChat now OK under *BSD and Mac OS X [[v0.1.1]] == Version 0.1.1 (2005-03-20) New features:: * add nicks count for channel buffers * add FIFO pipe for remote control * add crash dump when WeeChat receives SIGSEGV (Segmentation fault) * add new display engine: doesn't cut words at end of lines * add DCC send and DCC chat * add /halfop & /dehalfop commands, fix halfop display bug in nicklist * add /ban, /unban and /kickban commands * add --irc-commands and --weechat-commands command line options * connection to IRC server is now made by child process (non blocking) * add support for UnrealIrcd ("~" for chan owner, "&" for chan admin) * new key for window switch (now: kbd:[F5] / kbd:[F6] = switch buffer, kbd:[F7] / kbd:[F8] = switch window) * on server buffer, only server messages are logged * improve /help command output * plugins messages are logged with new config option (log_plugin_msg) Internationalization:: * add Spanish translations Bug fixes:: * fix /kick command * fix /invite command (and now invite requests are displayed) * fix /buffer close command (now OK when disconnected from server) * fix display bugs when many windows are opened [[v0.1.0]] == Version 0.1.0 (2005-02-12) New features:: * improve /window command: now split and merge are OK * away nicks are now displayed with another color (new option: "irc_away_check") * add away indicator in status bar * add lag indicator (and auto-disconnect after a delay if important lag) * improve completion: now completes commands arguments (IRC and internal), when only one completion matches, completion mechanism is stopped (to complete command argument for example) * improve /set command: empty strings are allowed, new colors, server options can be changed while WeeChat is running * add default away/part/quit messages in config file * new [irc] section in config file, move option "look_display_away" to "irc_display_away" * server messages & errors are all prefixed (by 3 chars, like "-@-") * add new options for charset (UTF-8 support): look_charset_decode, look_charset_encode and look_charset_internal Bug fixes:: * fix many memory leaks * fix colors bug: remove "gray" color (replaced by "default"), colors are OK when terminal has white (or light) background * fix crash when resizing terminal to small size * fix crash when multiple servers and big messages received from server * fix crash when closing some private buffers * fix crash when unknown section with option(s) in config file * fix /op, /deop, /voice, /devoice (now OK with many nicks) * fix /me command (now OK without parameter) * fix /away command (now OK if not away) * logs are now disabled by default (server/channel/private) [[v0.0.9]] == Version 0.0.9 (2005-01-01) New features:: * auto-reconnection to server (new options: server_autoreconnect (on/off), server_autoreconnect_delay (in seconds)) * new command "/buffer close" (close any server/channel/private buffer) * new keys: kbd:[Ctrl+a] (home), kbd:[Ctrl+e] (end), kbd:[Ctrl+w] (same as kbd:[Ctrl+Backspace]), kbd:[Alt+s] (switch to server buffer), kbd:[Alt+x] (switch to first channel of next server) * add new config option: "server_command_delay" (delay in seconds after startup command for each server) Bug fixes:: * fix major bug when socket is closed by server (100% CPU usage), and disconnections are now OK (all channels are "closed", history is still visible, and buffer will be used again if reconnection to server) * option "look_remove_colors_from_msgs" is now working * fix display of nick mode changes * fix /notice command (and display when received from server) [[v0.0.8]] == Version 0.0.8 (2004-10-30) New features:: * nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off) * auto-rejoin channels when kicked (new config option: server_autorejoin on/off) * add IRC::command function for Perl scripts * /buffer command developed (buffers list, move and notify) * logging buffers to disk (server/channel/private according to user preferences) * add config option "look_display_away" to announce away in channels * DCC file receive OK (kbd:[Alt+d] for DCC view) * add key for redrawing terminal (kbd:[Ctrl+l]) * add key for clearing hotlist (kbd:[Alt+r]) Bug fixes:: * fix /kick command: now OK with many words as reason * fix bug when adding alias with same name as other * fix crash when resizing terminal to very small size * "-MORE-" message is now erased when switching to another buffer * /query command now reopens private buffer if already opened [[v0.0.7]] == Version 0.0.7 (2004-08-08) New features:: * new "col_status_delimiters" config option * add command /buffer , buffers ordered by number, auto-jump to active buffers (kbd:[Alt+a]), jump to buffers by number (kbd:[Alt+0...9]) * add command /window, split terminal horizontally/vertically * unique color for each nick (based on nickname) * add history limit (text buffer and commands) Bug fixes:: * action messages are now considered as messages, not crappy joins/parts * fix display bug when nicklist is displayed at bottom of screen Build:: * replace --enable-debug with --with-debug option for ./configure [[v0.0.6]] == Version 0.0.6 (2004-06-05) New features:: * improve channel highlight (priority to message vs join/part) * add command /query (starts private conversation) * add IRC messages 476, 477 Bug fixes:: * fix bug when opened private win and remote user changes his nick * /mode command is now OK and channel flags are displayed in status bar * fix display bug (text was blinking when scrolling) * CTCP Version reply is now in English only and doesn't show host (security reason) [[v0.0.5]] == Version 0.0.5 (2004-02-07) New features:: * /set command to modify config options when WeeChat is running * URL command line parameter to connect to server(s) * new Perl script function to display message in info bar ("IRC::print_infobar") * info bar highlight notifications * add info bar timestamp in config ("look_infobar_timestamp") * add info bar (optional, "look_infobar" to enable it, "on" by default) * add -c (or --config) command line parameter to see config file options Bug fixes:: * fix look_nicklist config option, now enables/disables nicklist * secure code to prevent buffer overflows and memory leaks * fix QUIT IRC command: now sent to all connected servers (not only current) * fix crash with /oper command * for default config file, nick is now based on un*x username * fix crash when config file cannot be written * add highlight on action messages [[v0.0.4]] == Version 0.0.4 (2004-01-01) New features:: * add Perl plugin Bug fixes:: * fix switch to private buffer * add highlight when our nick is written in a channel/private window * catch kbd:[Ctrl+c] (ignored) Build:: * debug messages can be enabled via ./configure --enable-debug option [[v0.0.3]] == Version 0.0.3 (2003-11-03) New features:: * add new IRC commands: stats, service, squit, motd, lusers, links, time, trace, admin, info, servlist, squery, who, whowas, die, summon, users, wallops, userhost, ison, ctcp ping Internationalization:: * add French translations Bug fixes:: * for sort of nicks (op, halfop, voice, other) * fix problem with "353" IRC message (nicklist) * fix problem when nick is truncated by server * fix crash when entering text without any server connection * fix crash when /set command is executed * fix display bug (text was blinking when scrolling) * code cleanup Build:: * add ./configure script to build WeeChat [[v0.0.2]] == Version 0.0.2 (2003-10-05) New features:: * add commands /rehash and /restart * and command and auto-join channels when connected to server * new commands for alias: /alias, /unalias (new section in config file) * config is now saved automatically when quitting WeeChat, add /save command * new commands for servers: /server, /connect, /disconnect * add autoconnect flag for each server in config file * add "look_set_title" option in config file * term window title is modified with WeeChat name and version * CTCP version returns more info (about OS) Bug fixes:: * fix nicklist display bug * fix crash when sending command which can only be received [[v0.0.1]] == Version 0.0.1 (2003-09-27) New features:: * ncurses GUI with color output * multi-servers * channel windows, with nicklist (position: top, bottom, left or right) * private windows * IRC commands: away, ctcp, deop, devoice, invite, join, kick, kill, list, me, mode, msg, names, nick, notice, op, oper, part, ping, pong, quit, quote, topic, version, voice, whois * WeeChat commands: clear, help, set (partial) * many config options * log file (~/.weechat/weechat.log) * nicklist can be moved on top, bottom, left or right of window