* relay: set status to "authentication failed" and close immediately connection in case of authentication failure in weechat and irc protocols (issue #825)
* core, irc, xfer: refresh domain name and name server addresses before connection to servers (fix connection to servers after suspend mode) (issue #771)
* 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 pointer in callbacks used in scripting API (issue #406)
* 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)
* core: display a more explicit error when a filter fails to be added (issue #522)
* api: add argument "length" in function utf8_is_valid()
* alias: display completion in /alias list (issue #518)
* 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)
* script: add completion with languages and extensions, support search by language/extension in /script search
* 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: 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)
* 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)
* 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)
* core: allow incomplete commands if unambiguous, new option weechat.look.command_incomplete (task #5419)
* api: add regex replace feature in function string_eval_expression()
* 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
* relay: add options "stop" and "restart" in command /relay
* 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: 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: 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()
* 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
* script: set option script.scripts.cache_expire to 1440 by default
* 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
* 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 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}
* 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)
* 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
* irc: use MONITOR instead of ISON for /notify when it is available on server (task #11477)
* 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_<type>() (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
* 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 infolist "layout" and hdata "layout", "layout_buffer" and "layout_window"
* 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
* 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
* script: add info about things defined by script (like commands, options, ...) in the detailed view of script (/script show)
* 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)
* 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)
* 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)
* 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)
* 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: 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)
* 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)
* 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)
* 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)
* 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)
* 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 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: 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
* 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)
* 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)
* 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)
* 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
* 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
* 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
* 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)
* 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: 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: 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: 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 ":")
* 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
* 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
* 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)
* 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
* 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
* 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()
* 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)
* api: new plugin API with many new functions: hooks, buffer management and nicklist, bars, configuration files, network, infos/infolists, lists, upgrade
* 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)
* 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
* 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
* 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
* 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
* 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
* 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)
* 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)