]> jfr.im git - irc/weechat/weechat.git/blame - ChangeLog.adoc
Version 4.0.3
[irc/weechat/weechat.git] / ChangeLog.adoc
CommitLineData
5812564b 1= WeeChat ChangeLog
ac820639
SH
2:author: Sébastien Helleu
3:email: flashcode@flashtux.org
4:lang: en
6aa94c08
SH
5:toc: left
6:docinfo1:
62aa07b0
SH
7
8
b5e81f93
SH
9This document lists all the changes for each version. +
10For a list of important changes that require manual actions, please look at release notes.
041b7549
SH
11
12
ef683123 13[[v4.0.3]]
f3bc66b2 14== Version 4.0.3 (2023-08-08)
ef683123 15
2ad27b41
SH
16Bug fixes::
17
9312211d 18 * core: fix input length and crash after delete of line (issue #1989)
ef683123 19 * irc: fix display of self CTCP message containing bold attribute (issue #1981)
2ad27b41 20 * irc: fix memory leak in IRC message parser
b2cd9d00 21 * irc: fix switch to channel manually joined when server option autojoin_dynamic is on and option irc.look.buffer_switch_autojoin is off (issue #1982)
f416688e 22 * irc: fix display of outgoing notice with channel when capability "echo-message" is enabled (issue #1991)
a23d8f21 23 * relay: fix display of IRC CTCP messages received from client (issue #1986)
ef683123 24
fad7231f
SH
25Build::
26
b06e09d0 27 * doc: display a warning if a locale is missing with fallback to English for auto-generated content (issue #1985)
fad7231f 28
b71af615 29[[v4.0.2]]
a4e7e18c 30== Version 4.0.2 (2023-07-12)
b71af615 31
2d91845d
SH
32Bug fixes::
33
ea934864 34 * core: fix renaming of options with command `/item rename` (issue #1978)
2d91845d
SH
35 * core: don't send "key_pressed" signal again for the same key press (issue #1976)
36 * core: don't send "key_combo_*" signals for incomplete keys (issue #1976)
3b26d675 37 * core: add key ctrl-backspace in /help key (issue #1975)
bcc06129 38 * core: keep keys ctrl-H and ctrl-? (in lower case) if they were manually bound to custom commands in a previous version
2d91845d 39
3203ee8f
SH
40Tests::
41
6c9ff45e 42 * core: fix hdata tests failure on Alpine 3.18
3203ee8f
SH
43 * relay: fix crash in tests on Alpine 3.18
44
b71af615
SH
45Build::
46
47 * php: fix detection of PHP 8.2 on Alpine 3.18
48
cb7647a3 49[[v4.0.1]]
b06edae3 50== Version 4.0.1 (2023-06-30)
cb7647a3
SH
51
52Bug fixes::
53
54 * core: force key "return" to command "/input return" when migrating legacy keys
db117f34 55 * core: display actual key name and command with key kbd:[Alt+k], remove key kbd:[Alt+K] (grab raw key) and associated commands `/input grab_raw_key` and `/input grab_raw_key_command`
11072050 56 * core: check for newline characters in string_is_whitespace_char (issue #1968)
b4d99901 57 * api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin
7d78be3a 58 * guile: fix crash on quit with Guile < 3 (issue #1965)
f546796b 59 * irc: reply to a CTCP request sent to self nick (issue #1966)
9939f939 60 * irc: sent "QUIT" message to servers connected with TLS on `/upgrade`
cb7647a3 61
34e34d28 62[[v4.0.0]]
1c449f3c 63== Version 4.0.0 (2023-06-24)
736bc89d 64
37e85994
SH
65New features::
66
15f0f7e3 67 * core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option `legacy` in command `/key` (issue #1238, task #10317)
ff544f48
SH
68 * core: make keys normal options, so they are shown and can be updated with `/set` and `/fset` commands (task #12427, task #11783)
69 * core: add key kbd:[Alt+K] (upper case) to grab raw key and its command (issue #1238)
70 * core: add option `key` in command `/debug` (issue #1238)
71 * core: force ctrl keys to lower case when they are added (issue #1875)
2e42da35 72 * core: use 256 colors by default and always allow 256 colors, find nearest color if less colors are available in terminal (issue #1920)
b894166d 73 * core: insert multiple pasted lines in input instead of sending immediately, add keys to move and delete in a single line and whole input, add option weechat.look.input_multiline_lead_linebreak (issue #1502, issue #1503, issue #1504)
2c82a1a3
SH
74 * core: render newline characters in chat line messages (issue #1908)
75 * core: don't split on newline characters in printf_date_tags when input_multiline is set (issue #1909)
0debd47d 76 * core: add key @kbd:[l] in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
ac25043b 77 * core: add option `split_return` in command `/input` (issue #1916)
71b85f12 78 * core: send all command line parameters not beginning with a dash to all plugins
0d49ffd0 79 * core: add command `/reset` to reset options to their default values
cee14f10 80 * core: add option `rename` in command `/bar`
be64e8cd 81 * core: add relative move of read marker with `/buffer set unread [+/-]N` (issue #1895)
eb71880e 82 * core: add access to hashtable properties in evaluation of expressions (issue #1888)
b02a10aa 83 * core: display similar command names when a command is unknown (issue #1877)
23b870ec 84 * core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls
3c433b51 85 * core: add option weechat.color.status_name_insecure to display buffer name with a specific color when not connected with TLS to the server
3909d776 86 * core, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
127c8e0e 87 * core: add item "mouse_status" in default status bar, change default color to lightgreen
e75009a4 88 * core, trigger: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled, remove options trigger.color.trigger and trigger.color.trigger_disabled, add enabled/disabled status color in output of `/filter list` (issue #1820)
fc91ee59 89 * core: add completions "filters_names_disabled" and "filters_names_enabled", used in completion of `/filter disable` and `/filter enable`
ff544f48 90 * api: add function config_set_version (issue #1238)
25d71926 91 * api: don't split on newline by default in functions `command` and `command_options` when `input_multiline` is set to 0
72477b49 92 * api: add optional argument with version in info "version_number"
71b85f12 93 * api: add info "auto_load_scripts"
3e9524ee 94 * alias: use lower case for default aliases, rename all aliases to lower case on upgrade (issue #1872)
de3ee174 95 * alias: add `$&` to replace all arguments with double quotes escaped (issue #1140, issue #1190)
001cf337 96 * alias: add options `missing` and `rename` in command `/alias`
7f4c3a66 97 * fifo: add support of escaped chars in text or commands sent (issue #1950)
f917d226 98 * fset: add options fset.color.color_name and fset.color.color_name_selected (issue #1920)
95b30f8d 99 * irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default
176a1067 100 * irc: add support of capabilities "batch" and "draft/multiline" (issue #1292, issue #1923)
64c3f3f0 101 * irc: add support of capability "echo-message" (issue #139)
4c6f503c 102 * irc: display CTCP ACTION to channel on the channel buffer (issue #207)
0babf5db 103 * irc: display STATUSMSG actions differently from standard actions on channels (issue #1577)
8d35e67d 104 * irc: add modifier "irc_cap_sync_req" (issue #1767)
128fbe0d 105 * irc: add support of "LINELEN" in message 005 (max message length in bytes) (issue #1927)
6ae04c49 106 * irc: add support of "UTF8ONLY" in message 005 (issue #1688)
ea38779c 107 * irc: add command `/action` (issue #201, issue #1577)
30fa6477 108 * irc: add command `/rules` (issue #1864)
9f5ca3b1 109 * irc: add command `/knock` (issue #7)
4f0b6115 110 * irc: add server option "registered_mode", add fields "authentication_method" and "sasl_mechanism_used" in server (issue #1625)
37e85994 111 * irc: add option `join` in command `/autojoin`
b9cc0cf8 112 * irc: use key when /joining in open channel buffer (issue #1260)
b127bed0 113 * irc: add option `buffer` in command `/autojoin sort` (issue #1876)
f90d8667 114 * irc: add `${username}` in server options "nicks" and "username", change their default values to use it
ac9dc3b9 115 * irc: add infos "irc_server_cap" and "irc_server_cap_value"
682fc407 116 * irc: add option irc.look.display_host_notice
e04d8894 117 * irc: add tag "new_host_xxx" in message displayed for command CHGHOST (issue #1808)
c3c21803 118 * logger: add option logger.file.log_conditions (issue #1942)
672945a3 119 * logger: add info "logger_log_file"
8eb096b3 120 * relay: rename "ssl" options and protocol to "tls"
caf166eb 121 * relay: make TLS certificate/key loading error handling more verbose (issue #1558)
5e85bce2
SH
122 * relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" in irc protocol
123 * relay: add support of capability "echo-message" in irc protocol (issue #1949)
482fe660 124 * relay: add handshake option "escape_commands" in weechat protocol
1145d9f1 125 * trigger: add completions "trigger_names_disabled" and "trigger_names_enabled", used in completion of `/trigger disable` and `/trigger enable`
37e85994 126
f305eed0
SH
127Bug fixes::
128
9a0eda24 129 * core: fix refresh of bar item "input_search" after buffer switch in root bars (issue #1939)
adbfd276 130 * core: fix completion after newline in input (issue #1925)
17f3687e 131 * core: fix partial completion when the common prefix found is empty (issue #340)
ff544f48
SH
132 * core: display a specific error when trying to bind a key without area in mouse context
133 * core: fix display of key with command `/key bindctxt <context> <key>`
5b33d1e2 134 * core: fix default value of bar options (issue #846)
b846df9e 135 * core: allow any valid boolean value in command `/bar set <name> separator xxx`
ca7da2c9 136 * core: run config hooks only when value or default value is actually changed in set/reset/unset functions
fb0248f5 137 * core: fix crash in case of NULL message sent to function gui_chat_printf_y_date_tags (issue #1883)
46935b85 138 * core: allow command `/input move_next_word` going to the end of line (issue #1881)
be0c04f4 139 * core: ignore incomplete ctrl/meta/meta2 codes in keys
0d622df8 140 * core: fix display glitch in command errors when a wide char is set in option weechat.look.command_chars (issue #1871)
df6dfcea 141 * core: fix update of terminal title in some terminals like suckless terminal (stterm) (issue #1882)
ff402fb6 142 * core: fix infinite loop on startup when running some gui commands before the switch to core buffer is performed (issue #1917)
fa6a9bb9 143 * api: readjust string size in function string_dyn_free when string is not freed
ff544f48 144 * buflist: do not display keys added in default context on first load
5d06ab76 145 * exec: remove trailing "M" (carriage return) in output of commands
5441c52d 146 * fset: remove scroll to top of fset buffer when options are added or removed (issue #1892)
4185e7b9 147 * guile: fix crash when plugin is loaded on GNU/Hurd (issue #1951)
bd4507e9 148 * irc: fix format of IRC tags displayed in messages (use "=" to separate key from value, do not convert "_" to "-") (issue #1929)
1116474c 149 * irc: reset all internal servers variables when disconnecting
43553f7c 150 * irc: start from the beginning of nicks at automatic reconnection (issue #337, issue #965)
55d08a60 151 * irc: fix join of channels in "autojoin" server option on first connection to server if auto reconnection is performed (issue #1873)
ff85d00e 152 * irc: update autojoin option with redirected channels when autojoin_dynamic is enabled (issue #1898)
1f21cdc0 153 * irc: update secure data when server autojoin option contains `${sec.data.xxx}` and option autojoin_dynamic is enabled (issue #1934)
1c3b8712 154 * irc: don't switch to buffer of joined channel if it was not manually joined nor present in server autojoin option
10b2fa3a 155 * irc: fix target buffer for commands 432/433 (erroneous nickname/nickname already in use) when the nickname looks like a channel
2a3d98c9 156 * irc: display command 437 on server buffer when nickname cannot change while banned on channel (issue #88)
e00ec671 157 * irc: add messages 415 (cannot send message to channel) and 742 (mode cannot be set)
3cb5f256 158 * irc: add missing tag "log3" in notify messages
20bfe4c1 159 * irc: add missing tags "irc_cap" and "log3" in cap messages (client capability)
a2e73d64 160 * irc: fix split of CTCP message with no arguments
dbcb8d3d 161 * irc: remove extra space in CTCP ACTION message sent without arguments
48b35bdc 162 * logger: fix display of multiline messages in backlog (issue #1926)
6be7960e 163 * lua: fix crash with print when the value to print is not a string (issue #1904, issue #1905)
8c73634e 164 * relay: fix crash on `/upgrade` when at least a client is connected with weechat protocol
02a20507 165 * relay: fix connection with IRC clients sending "CAP REQ :" (without capability) and not sending "CAP END" (issue #1040)
a22d6a1b 166 * ruby: fix crash on quit when a child process is still running (issue #1889, issue #1915)
310af252 167 * ruby: fix crash in display of exception backtrace with Ruby 3 (issue #1631, issue #1886)
126d3559 168 * script: remove trailing "J" (line feed char) in source of scripts displayed
6a2ecc90 169 * spell: check buffer pointer received in info "spell_dict"
6d32a99d 170 * trigger: make default triggers "cmd_pass", "cmd_pass_register" and "server_pass" compatible with multiline input (issue #1935)
f305eed0 171 * typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (issue #1869)
357323b8 172 * typing: remove nicks typing even when option typing.look.enabled_self is off (issue #1718)
f305eed0 173
48c1aebb
SH
174Tests::
175
80532862 176 * core: add tests on URL functions
e21144eb 177 * gui: add tests on bar and key functions
80532862
SH
178 * alias: add tests on alias functions
179 * irc: check tags in messages displayed by IRC plugin
180 * irc: add tests on function irc_server_alloc_with_url
181 * irc: add tests on message/notice/action/CTCP sent
4e705afd 182 * logger: add tests on tail functions
911c976f 183 * relay: add tests on "irc" protocol
48c1aebb 184
736bc89d
SH
185Build::
186
187 * core: remove build with autotools (issue #1860)
92b0bc9f 188 * core: remove RPM packaging
2550153f 189 * core: remove build of .bz2 and .zst files in `make dist`
cf3ba528 190 * core: remove obsolete cpack config
5c245af6 191 * core: add "stable-number" and "devel-number" in script version.sh
6415c09a 192 * core: add quotes around paths in CMake files (issue #29)
6665cc86 193 * doc: convert docgen.py to C, remove autogen files from repository, add parameter `--doc-gen` to `weechat-headless` binary, add CMake option `ENABLE_DOC_INCOMPLETE`
736bc89d 194
f97b74ca 195[[v3.8]]
b614a5c5 196== Version 3.8 (2023-01-08)
f97b74ca 197
7d2e8b91
SH
198New features::
199
fce2fcba 200 * core: add option weechat.look.chat_space_right (issue #1862)
45638dca 201 * core: allow value "0" in buffer property "unread" to remove read marker from buffer
2c238e08 202 * core: add command `/allbuf`
babe1e7a 203 * core: add command `/hotlist`
41fd26fe 204 * core: move some `/input` actions to commands `/allbuf`, `/buffer` and `/hotlist`
68b51051 205 * core: improve case convert and insensitive char comparisons (issue #258)
5b9b1e17 206 * core: add color attributes "blink" and "dim" (half bright) (issue #1855)
7d2e8b91 207 * core: allow command `/toggle` to create option before setting the value, if allowed in the section (issue #1837)
24665ae8 208 * core: add signals "buffer_user_input_xxx" and "buffer_user_closing_xxx" for buffers created with `/buffer add` (issue #1848)
bab73cfa 209 * core: add identifier in buffer lines (issue #901)
baab9cc7 210 * core: add option `unicode` in command `/debug`
0ce0fa9f 211 * api: add Curl options for versions 7.64.0 to 7.87.0
21f35750 212 * api: add functions string_strcmp and string_strncmp
a6755690
SH
213 * api: rename char comparison functions "utf8_char*" to "string_char*"
214 * api: return arithmetic difference between chars in functions string_charcmp, string_charcasecmp, string_charcasecmp_range, string_strcasecmp, string_strcasecmp_range, string_strncasecmp, string_strncasecmp_range, string_strcmp_ignore_chars
40339b28 215 * api: return newly allocated string in functions string_tolower and string_toupper
9b93919b 216 * api: add function utf8_strncpy
7555993b 217 * trigger: add regex command "y" to translate chars, set default regex command to "s" (regex replace) (issue #1510)
7d2e8b91 218
f97b74ca
SH
219Bug fixes::
220
05839983 221 * core: fix color when the delimiter is not followed by a background color (issue #1867)
9b93919b 222 * core: display chars the same way in chat and bars, replace tabulations by spaces in bars, display chars < 32 with letter in chat, do not display soft hyphens, zero width spaces and all non-printable chars (issue #1659, issue #1669, issue #1770)
f97b74ca 223 * core: fix context info in buffers with free content (issue #1832)
e3bbe2b5 224 * core: keep terminal title unchanged when option weechat.look.window_title is set to empty value (issue #1835, issue #1836)
a70c626c 225 * core: fix crash when setting invalid color in option with null value (issue #1844)
2ad6f2f3 226 * api: do not check conditions defined in option weechat.look.hotlist_add_conditions when adding buffer in hotlist with function buffer_set
5fc656a1 227 * api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte
a0e5e2a3 228 * api: send NULL values to config section callbacks in scripting API (issue #1843)
9b93919b 229 * api: fix function string_cut when there are non printable chars in suffix
56dbd871 230 * api: do not expect any return value in callbacks "callback_change" and "callback_delete" of function config_new_option (scripting API)
9ee0955d 231 * irc: properly rename private buffer on nick changes or privmsg/notice message when new nick is the same with different case
fb31cf66 232 * irc: do not join channels in server autojoin option after reconnection to the server (issue #560, bug #21529)
6619c421 233 * irc: escape backslashes in raw buffer (issue #1838)
1bfc8b9c 234 * trigger: fix variables sent to focus callback (issue #1858)
f97b74ca 235
a1057c9a
SH
236Tests::
237
92022132 238 * ci: remove use of repository ppa:ondrej/php, use standard PHP version (8.1) from Ubuntu 22.04
f43efe5a 239 * core: add script check_scripts.sh
8da3884a 240 * core: add script check_curl_symbols.py
dd9ae792 241 * gui: add tests on input functions
a1057c9a
SH
242 * scripts: add tests on config functions
243
319abf4f
SH
244Build::
245
bff143dc 246 * core: add CMake test called "notests" when tests are not compiled
3c65bc68 247 * core: rename scripts: build-debian.sh to build_debian.sh, build-test.sh to build_test.sh, git-version.sh to set_git_version.sh
ea9c3b22 248 * debian: change dependency guile-2.2-dev to guile-3.0-dev
5a27805c 249 * python: remove support of Python 2.x
1639e606 250 * ruby: add detection of Ruby 3.2
5a27805c 251 * spell: add detection of enchant-2 (issue #1859)
319abf4f 252
133a4241
SH
253[[v3.7.1]]
254== Version 3.7.1 (2022-10-21)
255
256Bug fixes::
257
258 * trigger: execute trigger command on appropriate buffer for hooks command, command_run, line, modifier and print (issue #1841)
259
e057c16b 260[[v3.7]]
484f679e 261== Version 3.7 (2022-10-09)
e057c16b
SH
262
263New features::
264
d068fe0d 265 * core: add option `-save` in command `/upgrade` (issue #1630)
68ad24f2 266 * core: add option weechat.look.highlight_disable_regex and buffer property "highlight_disable_regex" (issue #1798)
0df582c7 267 * core: sort filters by name (issue #1695)
01cf98e8 268 * core: add key kbd:[Alt+Backspace] to delete previous word, change key kbd:[Ctrl+w] to delete previous word until whitespace (issue #559)
b7441bd7 269 * api: rename function string_build_with_split_string to string_rebuild_split_string, add arguments "index_start" and "index_end"
e057c16b 270 * api: add info "uptime_current"
0090695f 271 * api: add function crypto_hash_file
96c22c41 272 * api: add support of priority in function hook_line (issue #1821)
4d74a89c 273 * api: add function string_parse_size
26e6fdc6 274 * api: add function file_compress
e77ea9dc 275 * buflist: add variable `${hotlist_priority_number}` (integer version of `${hotlist_priority}`)
aee3da54 276 * irc: display SETNAME command in channels and private buffers, add options irc.color.message_setname and irc.look.smart_filter_setname (issue #1805)
c6d8b544 277 * irc: add option irc.look.display_pv_nick_change
7711ed95 278 * logger: add options to rotate and compress log files: logger.file.rotation_compression_level, logger.file.rotation_compression_type and logger.file.rotation_size_max (issue #314)
a99fc17d 279 * spell: allow special dict value "-" to disable spell checking on a specific buffer (issue #1699)
b26fb7fb 280 * trigger: add elapsed time for trigger execution on monitor buffer when trigger debug is set, add option trigger.color.identifier (issue #1806)
ae611372 281 * trigger: add variable `${tg_hook_type}` (issue #1765)
e057c16b 282
0440309c
SH
283Bug fixes::
284
36d2e742 285 * core: fix wrong terminal title on terminal resize (issue #1702)
1fec7e88 286 * core: fix page scroll in bare display (issue #1830)
b2b110f1 287 * api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts)
92cdcee8 288 * api: change type of argument object_id in upgrade_new callback from string to integer (in scripts)
0440309c 289 * irc: fix duplicated channels in autojoin option when autojoin_dynamic is enabled (issue #1795)
d5c4342b 290 * irc: fix display of TOPIC and QUIT messages with an empty trailing parameter (issue #1797)
25f25073 291 * irc: fix parsing of messages with trailing spaces and no trailing parameter (issue #1803)
1e0d59a5 292 * irc: add missing tag "irc_numeric" in all numeric IRC commands (issue #1804)
d7c0e896 293 * irc: display an error message when using command `/dcc` without xfer plugin loaded
223eefef 294 * irc: display ACCOUNT and CHGHOST commands in private buffers
e6144108 295 * irc: fix extract of isupport value when it is last in list and without value (issue #1807)
68ecfb16 296 * irc: fix target buffer of generic errors when they contain a target nick (issue #1814)
d5cbd6c4 297 * irc: fix display of message 350 (whois, gateway) (issue #1815)
9cb68b13 298 * irc: replace chars "\01" by spaces in CTCP replies (issue #1819)
52849217 299 * irc: fix message when disconnecting from server in case of high lag when server option autoreconnect is off (issue #1708)
4d3a3c67 300 * irc: set local variable "filter" when doing `/server raw xxx` with raw buffer already opened (issue #1448)
8f6395e8 301 * guile: fix function hdata_get_string
2475ba43 302 * javascript: fix return of long value in functions infolist_time, hdata_long and hdata_time
53df45de 303 * php: fix function hdata_compare
96ed4712 304 * relay: fix parsing of IRC messages received from clients (issue #1796)
441d532f 305 * relay: fix refresh of relay buffer after `/upgrade`
39f2b2f7 306 * ruby: fix function hdata_get_string
b1404b02 307 * scripts: fix issue with year ≥ 2038 in functions infolist_new_var_time, print_date_tags and print_y_date_tags (plugins: python/lua/tcl/guile/javascript)
bcb8647a 308 * scripts: fix issue with long interval in function hook_timer (plugins: python/ruby/lua/tcl/guile/javascript/php)
1ce2d7f5 309 * trigger: fix error on monitor buffer creation when trigger debug is >= 1 and monitor buffer is closed
389f9f43 310 * trigger: escape arguments with double quotes in output of `/trigger input|output|recreate` (issue #190)
56b82fb1 311 * xfer: fix crash when closing DCC chat buffer
d91cddc9 312 * xfer: disconnect all active DCC chats and files on `/upgrade`
9fd71067 313 * xfer: fix refresh of xfer buffer after `/upgrade`
e8524ea2 314 * xfer: fix DCC file receive on Termux (issue #1811)
0440309c 315
d2c2f9e6
SH
316Tests::
317
2f6b462c
SH
318 * ci: switch from Ubuntu 20.04 to 22.04
319 * ci: remove macOS 10.15, add macOS 12
a00edcf5 320 * core: add tests on filter functions
4d4a6f99 321 * scripts: add tests on hdata functions
d2c2f9e6 322 * scripts: fix run of Guile test script
a8080505 323 * xfer: add tests on file functions
d2c2f9e6 324
01f9bcba 325[[v3.6]]
e5a159c7 326== Version 3.6 (2022-07-10)
01f9bcba 327
a2e43a73
SH
328New features::
329
10501a34 330 * core: add command `/item` to create custom bar items (issue #808)
a2e43a73 331 * core: add bar item "spacer" (issue #1700)
51ed9ec9 332 * core: add case conversion in evaluation of expressions with `lower:string` and `upper:string` (issue #1778)
8be5759e 333 * core: move detailed list of hooks from command `/plugin listfull` to `/debug hooks <plugin>`
d99fe0bc 334 * core: allow to remove multiple filters at once with command `/filter del`
b7f3127b 335 * api: allow to catch multiple signals in functions hook_signal and hook_hsignal (issue #1780)
17ae43aa 336 * irc: rename option `save` to `apply` in command `/autojoin`
9ac9dc70 337 * irc: add support of RPL_HELPSTART, RPL_HELPTXT and RPL_ENDOFHELP (messages 524, 704, 705, 706) (issue #1772)
4a115fde 338 * php: add support of PHP 8.2 (issue #1787)
a2e43a73 339
01f9bcba
SH
340Bug fixes::
341
342 * core: fix bad window size on startup with some terminals like https://github.com/kovidgoyal/kitty[kitty] (issue #1769)
1c7b431b 343 * api: run hook_print callback also on empty messages
07b54a99 344 * buflist: fix memory leak when reading config and changing option buflist.look.sort
d4d81174 345 * irc: remove channel from autojoin option when manually closing a buffer with `/buffer close` or `/close`
4d8df89b 346 * irc: fix add of channel to autojoin option when joining a channel with a buffer still opened
f3955315 347 * relay: fix save of channels in autojoin option when JOIN and PART commands are received from an IRC relay client (issue #1771)
2a242890 348 * trigger: add `${buffer.notify} > 0` in conditions of default trigger "beep"
a1a9303b 349 * trigger: fix completion of command `/trigger add` when there are spaces in the following arguments
5876a833 350 * trigger: fix memory leak in command `/trigger addinput`
01f9bcba 351
d5c391b1 352[[v3.5]]
0e649761 353== Version 3.5 (2022-03-27)
d5c391b1 354
498194f6
SH
355New features::
356
e8c59e1f 357 * core: search in message tags when tags are displayed with `/debug tags`
9259442d 358 * core: add support of date and tags in messages displayed in buffers with free content, add function printf_y_date_tags (issue #1746)
e46d2567 359 * irc: add command `/autojoin`, add server option "autojoin_dynamic"
b66298d3 360 * irc: add IRC message tags in messages displayed (issue #1680)
498194f6 361 * relay: add `zstd` (https://facebook.github.io/zstd/[Zstandard]) compression in weechat protocol, remove option `compression` from `init` command, rename option relay.network.compression_level to relay.network.compression
532d46bb 362 * trigger: add variables `${tg_tag_irc_xxx}` containing IRC message tags (issue #1680)
498194f6 363
d5c391b1
SH
364Bug fixes::
365
0ebf3dbe 366 * core: fix memory leak when removing a line on a buffer with free content
13fb3649 367 * core: remove obsolete option weechat.plugin.debug (issue #1744)
bda7bb64 368 * core: fix search of commands with UTF-8 chars in name when option weechat.look.command_incomplete is on (issue #1739)
dd2b19ec 369 * core: fix display of hotlist in buflist after changing value of option weechat.look.hotlist_sort (issue #1733)
e5e3a9d2 370 * api: add function buffer_new_props (issue #1759)
c13aa86c 371 * api: fix add of infolist items in hashtable when prefix contains UTF-8 chars in function hashtable_add_from_infolist (issue #1739)
d06f1e84 372 * guile: remove disabling of guile gmp allocator with Guile ≥ 3.0.8
b54d0663 373 * irc: fix completion of channel topic with UTF-8 chars (issue #1739)
9bbab7ff 374 * irc: fix parsing of messages 311, 312, 327 (whois) and 314 (whowas) in case of missing parameters
ba7ff87d 375 * irc: fix parsing of message 223 (m_filter) sent by InspIRCd server (issue #1751)
0d6b18bc 376 * irc: fix parsing of message 338 (whois, host) sent by Rizon server (issue #1737)
8c49475f 377 * irc: fix display of message 344 received as whois geo info (issue #1736)
72282625 378 * irc: fix display of message 901 (you are now logged out) (issue #1758)
d5c391b1 379 * irc: fix display of IRC numeric messages with no parameters
574f1837 380 * python: fix crash in hook callbacks after script loading failure (issue #1740)
65e08ffe 381 * scripts: allow NULL in parameters "default_value" and "value" of function config_new_option (issue #1761)
8700e0bb 382 * scripts: auto-load scripts with supported extensions only (issue #1698)
65e08ffe 383 * tcl: add constant `$::weechat::WEECHAT_NULL` (issue #1761)
dee7313f 384 * trigger: fix search of triggers with UTF-8 chars in name (issue #1739)
619f09f2 385 * xfer: fix auto-accept of server/nick when the server name contains UTF-8 chars (issue #1739)
d5c391b1 386
7fb1dd94
SH
387Tests::
388
2f6b462c 389 * ci: add build of Debian packages
083662cb 390 * core: add tests on GUI chat functions
7fb1dd94 391
d0c85793
SH
392Build::
393
e0db08c7 394 * debian: change dependency libargon2-0-dev to libargon2-dev (debian #1005703)
d0c85793
SH
395 * ruby: add detection of Ruby 3.1
396
44e04149
SH
397[[v3.4.1]]
398== Version 3.4.1 (2022-03-13)
399
400Bug fixes::
401
f02b1727 402 * core: set again TLS verification functions after options weechat.network.gnutls_ca_system and weechat.network.gnutls_ca_user are changed (issue #1763, CVE-2022-28352)
44e04149 403
a6826af7 404[[v3.4]]
778594d6 405== Version 3.4 (2021-12-18)
a6826af7
SH
406
407New features::
408
5e08f987 409 * core: add support of static arrays in hdata
fae6bbb4 410 * core: add command `/toggle`
2da21725 411 * api: add parameters pointers, extra_vars and options in function hdata_search
fae6bbb4
SH
412 * api: add user variables in evaluation of expressions with `define:name,value`
413 * api: add IRC message parameters `param1` to `paramN` and `num_params` in output of irc_message_parse
414 * irc: allow quotes around IRC message in command `/server fakerecv`
415 * trigger: hide key and password in command `/msg nickserv setpass nick key password`
416 * trigger: add support of option `-server` when hiding passwords in command `/msg nickserv register`
a6826af7 417
edd1971a
SH
418Bug fixes::
419
fae6bbb4 420 * core: fix memory leak in evaluated expression `split:number,seps,flags,xxx` when multiple "strip_items" are given
253b25db 421 * core: fix random integer number with large range in evaluation of expressions on GNU/Hurd
5e08f987 422 * core: fix access to integer/long/time arrays in hdata
301f0942 423 * api: fix search of option when the section is not given in functions config_search_option and config_search_section_option
9303f5ab 424 * irc: fix join of channels with long name (issue #1717)
08d3e3b2 425 * irc: fix parsing of parameters in all IRC messages (issue #1666)
ed9104fb 426 * irc: fix parsing of CAP message when there is no prefix (issue #1707)
edd1971a
SH
427 * irc: fix parsing of TAGMSG message when there is a colon before the channel
428
c8776b14
SH
429Documentation::
430
3a388795 431 * doc: remove tester's guide
d447755b
SH
432 * doc: add dark theme (automatic, following browser/desktop settings)
433 * doc: make build reproducible
434 * doc: disable web fonts
c8776b14
SH
435 * doc: switch from prettify to pygments for syntax highlighting
436
8b11fa86
SH
437Tests::
438
2f6b462c
SH
439 * ci: add build with CMake and Ninja
440 * ci: add build on macOS 11
8b11fa86 441
28d013b7
SH
442Build::
443
26623363 444 * ruby: add detection of Ruby 3.0 (issue #1721, issue #1605)
28d013b7
SH
445 * core: add targets "changelog" and "rn" to build HTML version of ChangeLog and release notes (CMake build only)
446
936e2fdd 447[[v3.3]]
3b9217e4 448== Version 3.3 (2021-09-19)
936e2fdd
SH
449
450New features::
451
12be3b8c 452 * core: change key kbd:[Alt+h] to kbd:[Alt+h], kbd:[Alt+c] (clear hotlist)
fae6bbb4
SH
453 * core: add options `hotlist_remove_buffer`, `hotlist_restore_buffer` and `hotlist_restore_all` in command `/input`, add default keys kbd:[Alt+h], kbd:[Alt+m] (remove buffer), kbd:[Alt+h], kbd:[Alt+r] (restore hotlist in current buffer) and kbd:[Alt+h], kbd:[Alt+Shift+R] (restore hotlist in all buffers)
454 * core: add option `certs` in command `/debug`
455 * core: add options `-o`, `-ol`, `-i` and `-il` in command `/plugin list`
456 * api: add split of string and shell arguments in evaluation of expressions with `split:number,seps,flags,xxx` and `split_shell:number,xxx`
968d17b8 457 * api: add `${re:repl_index}` to get the index of replacement in function string_eval_expression (issue #1689)
fae6bbb4 458 * api: add random integer number in evaluation of expressions with `random:min,max`
5ae4af15 459 * api: add function string_cut
8a11a18d 460 * api: add function file_copy (issue #1667)
a48a6156 461 * api: remember insertion order in hashtables
b1cf1270 462 * api: add keys/values with tags in output of irc_message_parse_to_hashtable (issue #1654)
fae6bbb4 463 * irc: add option `-parted` in command `/allchan` (issue #1685)
ff8beb19 464 * irc: allow signals "irc_raw_in" and "irc_in" to eat messages (issue #1657)
fae6bbb4 465 * irc: implement IRCv3.2 SASL authentication, add command `/auth`, reconnect by default to the server in case of SASL authentication failure (issue #413)
22a7e188 466 * irc: add support of capability "message-tags" and TAGMSG messages (issue #1654)
fae6bbb4 467 * irc: enable all capabilities by default (if supported by server and WeeChat), change default value of option irc.server_default.capabilities to `*` (issue #320)
947f73bd 468 * irc: add options irc.look.display_account_message and irc.look.display_extended_join (issue #320)
fae6bbb4 469 * irc: add command `/setname`, add support of message and capability "setname" (issue #1653)
936e2fdd
SH
470 * irc: always set realname in nicks even when extended-join capability is not enabled (issue #1653)
471 * irc: add support of FAIL/WARN/NOTE messages (issue #1653)
e8cdda31 472 * irc: drop support of DH-BLOWFISH and DH-AES SASL mechanisms (issue #175)
5ae4af15 473 * typing: new plugin "typing": display users currently writing messages on IRC channel/private buffers
936e2fdd 474
e04cc87f
SH
475Bug fixes::
476
20866a04 477 * core: fix decoding of attributes in basic ANSI colors (issue #1678)
60b9e36a 478 * api: fix function string_match with joker in the string if multiple words matched in input string
5fb7ebdf 479 * irc: fix send of empty JOIN when connecting to a server with only parted channels (issue #1638)
791b910a 480 * irc: fix SASL authentication when AUTHENTICATE message is received with a server name (issue #1679)
a1661663 481 * irc: remove unneeded message about Diffie-Hellman shared secret exchange during SSL connection to server (issue #857)
23c46c3f 482 * irc: escape/unescape IRC message tags values (issue #1654)
e04cc87f 483 * irc: set notify level to "private" for received WALLOPS
52534782 484 * script: fix move of installed script on another filesystem (issue #1667)
e04cc87f 485
936e2fdd
SH
486Documentation::
487
5b48eef4 488 * add Spanish FAQ (issue #1656)
936e2fdd
SH
489 * add Serbian translations (issue #1655)
490
bfa0b437
SH
491Tests::
492
2f6b462c
SH
493 * ci: switch to PHP 8.0
494 * ci: add build on macOS
bfa0b437 495
0b7e4977
SH
496Build::
497
498 * core: fix build on macOS (issue #1662)
885b470d 499 * lua: add detection of Lua 5.4
d5b68e6b 500 * php: add support of PHP 8.0 and 8.1 (issue #1599, issue #1668)
0b7e4977 501
97b809d1
SH
502[[v3.2.1]]
503== Version 3.2.1 (2021-09-04)
504
505Bug fixes::
506
8852e9fd 507 * relay: fix crash when decoding a malformed websocket frame (CVE-2021-40516)
97b809d1 508
ab282db3 509[[v3.2]]
70c09f1f 510== Version 3.2 (2021-06-13)
ab282db3 511
bb41de8c
SH
512New features::
513
7f8f5f94 514 * core: use XDG directories by default (config, data, cache, runtime) (issue #1285)
d09fe80f 515 * core: add option weechat.network.gnutls_ca_system, rename option weechat.network.gnutls_ca_file to weechat.network.gnutls_ca_user (now evaluated), delete and reload certificates when options are changed (issue #972)
fae6bbb4 516 * core: evaluate option weechat.plugin.path, change default value to `${weechat_data_dir}/plugins`
0dc7fbcb
SH
517 * core: add options to customize commands executed on system signals received (SIGHUP, SIGQUIT, SIGTERM, SIGUSR1, SIGUSR2) (issue #1595)
518 * core: quit WeeChat by default when signal SIGHUP is received in normal run, reload configuration in weechat-headless (issue #1595)
dfdd5b1c 519 * core: add signals "cursor_start" and "cursor_end"
5cffb717 520 * api: add function crypto_hmac (issue #1628)
fae6bbb4
SH
521 * api: add translated string in evaluation of expressions with `translate:xxx`
522 * api: add evaluation of WeeChat directories with `${weechat_xxx_dir}` in evaluated strings
7f8f5f94 523 * api: add optional key "directory" in hashtable options of function/modifier string_eval_path_home
fae6bbb4 524 * api: add supported prefixes `${weechat_xxx_dir}` in function mkdir_home
7f8f5f94 525 * api: add infos "weechat_config_dir", "weechat_data_dir", "weechat_cache_dir" and "weechat_runtime_dir"
8ee7d466 526 * api: add support of pointer names in function string_eval_expression (direct and in hdata)
bb41de8c 527 * api: add info "weechat_daemon"
d18680e4 528 * buflist: add option buflist.format.tls_version
fae6bbb4 529 * fifo: change default value of option fifo.file.path to `${weechat_runtime_dir}/weechat_fifo_${info:pid}`
e365e66e 530 * irc: add support of SASL mechanisms SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512 (issue #1628)
fae6bbb4 531 * irc: add variable `${target}` (target nick) in commands `/kick` and `/kickban`
d18680e4 532 * irc: add bar item "tls_version", add options irc.color.item_tls_version_ok, irc.color.item_tls_version_deprecated and irc.color.item_tls_version_insecure (issue #1622)
7f8f5f94 533 * irc: evaluate server options "sasl_key" and "ssl_cert"
fae6bbb4 534 * logger: change default value of option logger.file.path to `${weechat_data_dir}/logs`
13cb870b 535 * python: add stub for WeeChat API (issue #1377)
fae6bbb4
SH
536 * relay: evaluate option relay.network.ssl_cert_key, change default value to `${weechat_config_dir}/ssl/relay.pem`
537 * script: change default value of option script.scripts.path to `${weechat_cache_dir}/script`
538 * trigger: add variables `${tg_shell_argc}` and `${tg_shell_argvN}` in command trigger evaluated strings (issue #1624)
539 * xfer: change default value of option xfer.file.download_path to `${weechat_data_dir}/xfer`
bb41de8c 540
ab282db3
SH
541Bug fixes::
542
35b35f69 543 * core: split startup commands before evaluating them (issue #1643)
89e43eaf 544 * core: set server name when connecting to server with TLS (SNI extension) only if it's not an IPV4/IPv6 (issue #1635)
9e7d0525 545 * core: use function mallinfo2 instead of mallinfo when available (issue #1636)
e95fdc3a 546 * core: display a warning when the file with certificate authorities is not found (option weechat.network.gnutls_ca_file)
d8abdc57 547 * core: evaluate left/right part of comparison after split on the comparison operator in `${if:xxx}` (issue #1627)
e8a58a27 548 * core: prevent switching to start of visited buffers when jumping to next (issue #1591, issue #1592)
fae6bbb4 549 * core: recreate buflist and fset bars on `/reload` when WeeChat is started without configuration files (issue #1618)
027966e5 550 * buflist: fix comparison of hotlists in option buflist.look.sort (issue #1621)
e350437c 551 * irc: split server command before evaluating it (issue #1643)
9f0e7fb4 552 * xfer: make file transfer fail when option xfer.file.auto_rename is off and file already exists (issue #1633)
ab282db3 553
40ab0bb1
SH
554Tests::
555
2f6b462c 556 * ci: switch from Ubuntu 18.04 to 20.04
e58c827c
SH
557 * trigger: add tests on main trigger functions
558
7f8f5f94
SH
559Build::
560
4c25151f 561 * core: remove build option CA_FILE
7f8f5f94 562 * core: set WeeChat home to empty string by default in CMake and autotools
40ab0bb1 563
eb90a73f 564[[v3.1]]
ae2f2510 565== Version 3.1 (2021-03-07)
eb90a73f 566
b626df72
SH
567New features::
568
1c3c8c92 569 * core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch (issue #992, issue #993)
84d4be1b 570 * core: add option sec.crypt.passphrase_command to read passphrase from an external program on startup, remove option sec.crypt.passphrase_file (issue #141)
fae6bbb4
SH
571 * core: improve debug in command `/eval`: display more verbose debug with two `-d`, add indentation and colors
572 * core: add options `setvar` and `delvar` in command `/buffer`, rename option `localvar` to `listvar`
0294b246 573 * core: add buffer local variable "completion_default_template" (evaluated) to override the value of option "weechat.completion.default_template" (issue #1600)
fae6bbb4
SH
574 * core: add option `recreate` in command `/filter`
575 * core: add raw string in evaluation of expressions with `raw:xxx` (issue #1611)
576 * core: add evaluation of conditions in evaluation of expressions with `eval_cond:xxx` (issue #1582)
3d587ad3 577 * api: add info_hashtable "secured_data"
a34959a6 578 * irc: add info "irc_is_message_ignored"
e305b4e9 579 * irc: add server option "default_chantypes", used when the server does not send them in message 005 (issue #1610)
fae6bbb4 580 * trigger: add variable `${tg_trigger_name}` in command trigger evaluated strings (issue #1580)
b626df72 581
eb90a73f
SH
582Bug fixes::
583
c3cc06ff 584 * core: fix quoted line in cursor mode (issue #1602)
ab47c1ab 585 * core: fix wrong size of the new window after vertical split (issue #1612)
fae6bbb4
SH
586 * core: do not remove quotes in arguments of command `/eval` as they can be part of the evaluated expression/condition (issue #1601)
587 * core: display an error when the buffer is not found with command `/command -buffer`
45c372eb 588 * buflist: add option buflist.look.use_items to speed up display of buflist (issue #1613)
0f71b4cc 589 * irc: add bar item "irc_nick_prefix"
83379469 590 * irc: fix separator between nick and host in bar item "irc_nick_host"
fae6bbb4 591 * irc: fix completion of commands `/halfop` and `/dehalfop`
eb90a73f 592
bb6152d8
SH
593Documentation::
594
595 * do not build weechat-headless man page if headless binary is disabled (issue #1607)
596
42a86f0a
SH
597[[v3.0.1]]
598== Version 3.0.1 (2021-01-31)
599
600Bug fixes::
601
602 * exec: fix search of command by identifier
603 * spell: fix refresh of bar item "spell_suggest" when the input becomes empty (issue #1586)
604 * spell: fix crash with IRC color codes in command line (issue #1589)
605
2b16036f 606[[v3.0]]
72936fd3 607== Version 3.0 (2020-11-11)
2b16036f 608
ee3a4a1f
SH
609New features::
610
f8403c76 611 * api: add optional list of colors in infos "nick_color" and "nick_color_name" (issue #1565)
cfd22101 612 * api: add argument "bytes" in function string_dyn_concat
268aa631 613 * api: add function string_color_code_size (issue #1547)
fae6bbb4 614 * exec: add option `-oerr` to send stderr to buffer (now disabled by default) (issue #1566)
1054cdf1 615 * fset: add option fset.look.auto_refresh (issue #1553)
3e6c8b6a 616 * irc: add pointer to irc_nick in focus of bar item "buffer_nicklist" (issue #1535, issue #1538)
fae6bbb4
SH
617 * irc: allow to send text on buffers with commands `/allchan`, `/allpv` and `/allserv`
618 * irc: evaluate command executed by commands `/allchan`, `/allpv` and `/allserv` (issue #1536)
3c987f3a 619 * script: add option script.scripts.download_enabled (issue #1548)
0ff08e54 620 * trigger: add variable "tg_argc" in data set by command trigger (issue #1576)
72fdd689 621 * trigger: add variable "tg_trigger_name" in data set by all triggers (issue #1567, issue #1568)
ee3a4a1f 622
2b16036f
SH
623Bug fixes::
624
d15db0ec 625 * core: set "notify_level" to 3 if there is a highlight in the line (issue #1529)
2b16036f 626 * core: do not add line with highlight and tag "notify_none" to hotlist (issue #1529)
30e48336 627 * irc: remove SASL timeout message displayed by error after successful SASL authentication (issue #1515)
0cc5df66 628 * irc: send all channels in a single JOIN command when reconnecting to the server (issue #1551)
9ccf6297 629 * script: do not automatically download list of scripts on startup if the file is too old (issue #1548)
e25c3647 630 * spell: properly skip WeeChat and IRC color codes when checking words in input (issue #1547)
7412f581 631 * trigger: fix recursive calls to triggers using regex (issue #1546)
e0e905ca 632 * trigger: add `${tg_tags} !!- ,notify_none,` in conditions of default trigger "beep" (issue #1529)
2b16036f 633
8cf56dfd
SH
634Tests::
635
636 * core: add tests on GUI line functions
637
26085575
SH
638Build::
639
640 * core: disable debug by default in autotools build
579af1b2 641 * tests: fix compilation with CppUTest ≥ 4.0
26085575 642
1098e157 643[[v2.9]]
c096750e 644== Version 2.9 (2020-07-18)
1098e157 645
fdd39c6b
SH
646New features::
647
b0ecbdbf 648 * core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732)
1f2d90b6 649 * core: add Alacritty title escape sequence support (issue #1517)
fae6bbb4 650 * core: display notify level for current buffer with command `/buffer notify` (issue #1505)
1d357533 651 * core: count only visible nicks in bar item "buffer_nicklist_count", add bar items "buffer_nicklist_count_groups" and "buffer_nicklist_count_all" (issue #1506)
ec1b3815 652 * core: set default size for input bar to 0 (automatic) (issue #1498)
b2d1f377 653 * core: add default key kbd:[Alt+Enter] to insert a newline (issue #1498)
63714855 654 * core: add flag "input_multiline" in buffer (issue #984, issue #1063)
2c5a26b8 655 * core: add a scalable WeeChat logo (SVG) (issue #1454, issue #1456)
fae6bbb4
SH
656 * core: add base 16/32/64 encoding/decoding in evaluation of expressions with `base_encode:base,xxx` and `base_decode:base,xxx`
657 * core: add case sensitive wildcard matching comparison operator (`+==*+` and `+!!*+`) and case sensitive/insensitive include comparison operators (`+==-+`, `+!!-+`, `+=-+`, `+!-+`) in evaluation of expressions
33ea7470 658 * core: add default key kbd:[Alt+Shift+N] to toggle nicklist bar
fae6bbb4 659 * core: add command line option `--stdout` in weechat-headless binary to log to stdout rather than ~/.weechat/weechat.log (issue #1475, issue #1477)
de1e61f7 660 * core: reload configuration files on SIGHUP (issue #1476)
b17e1bcf 661 * api: add pointer "_bar_window" in hashtable sent to hook focus callback (issue #1450)
f500c972 662 * api: add info_hashtable "focus_info" (issue #1245, issue #1257)
88bef0b1 663 * api: rename function hook_completion_get_string to completion_get_string and hook_completion_list_add to completion_list_add
d3020976 664 * api: add functions completion_new, completion_search and completion_free
2bd8e91b 665 * api: add hdata "completion_word"
0abd0292 666 * buflist: add default key kbd:[Alt+Shift+B] to toggle buflist
fae6bbb4 667 * buflist: add options enable/disable/toggle in command `/buflist`
fdd39c6b 668 * buflist: evaluate option buflist.look.sort so that sort can be customized for each of the three buflist bar items (issue #1465)
12051a50 669 * irc: add support of UTF8MAPPING (issue #1528)
e80bf16d 670 * irc: display account messages in buffers (issue #1250)
19e98e75 671 * python: add WeeChat sharedir python directory to PYTHONPATH (issue #1537)
4f4f32b9 672 * relay: increase default limits for IRC backlog options
95c908e8 673 * relay: add command "handshake" in weechat relay protocol and nonce to prevent replay attacks, add options relay.network.password_hash_algo, relay.network.password_hash_iterations, relay.network.nonce_size (issue #1474)
b6cc42cb 674 * relay: add command "completion" in weechat relay protocol to perform a completion on a string at a given position (issue #1484)
b947512c 675 * relay: add option relay.network.auth_timeout
9f55f90b 676 * relay: update default colors for client status
6d99f5da 677 * relay: add status "waiting_auth" in irc and weechat protocols (issue #1358)
8bdd540d 678 * trigger: evaluate arguments of command when the trigger is created (issue #1472)
fdd39c6b 679
fae149b3
SH
680Bug fixes::
681
fae6bbb4 682 * core: fix command `/window scroll_beyond_end` when buffer has fewer lines than chat height (issue #1509)
40a14b45 683 * core: force buffer property "time_for_each_line" to 0 for buffers with free content (issue #1485)
1c269e9a 684 * core: don't collapse consecutive newlines in lines displayed before the first buffer is created
8712e557
SH
685 * core: don't remove consecutive newlines when pasting text (issue #1500)
686 * core: don't collapse consecutive newlines in bar content (issue #1500)
b781dd92 687 * core: fix WEECHAT_SHAREDIR with CMake build (issue #1461)
d78ac827 688 * core: fix memory leak in calculation of expression on FreeBSD (issue #1469)
e998417f 689 * core: fix resize of a bar when its size is 0 (automatic) (issue #1470)
e784a994 690 * api: fix use of pointer after free in function key_unbind
35053240 691 * api: replace plugin and buffer name by buffer pointer in argument "modifier_data" sent to weechat_print modifier callback (issue #42)
99a324b7 692 * buflist: add "window" pointer in bar item evaluation only if it's not NULL (if bar type is "window")
5438f62f 693 * exec: fix use of same task id for different tasks (issue #1491)
8c9eeb7f 694 * fifo: fix errors when writing in the FIFO pipe (issue #713)
fae6bbb4 695 * guile: enable again `/guile` eval (issue #1514)
4a42cda3 696 * irc: use new default chantypes "#&" when the server does not send it
12051a50 697 * irc: add support of optional server in info "irc_is_nick", fix check of nick using UTF8MAPPING isupport value (issue #1528)
196a4e28 698 * irc: fix add of ignore with flags in regex, display full ignore mask in list of ignores (issue #1518)
4a67c4a1 699 * irc: do not remove spaces at the end of users messages received (issue #1513)
09f4f98a 700 * irc: fix realname delimiter color in WHO/WHOX response (issue #1497)
4c050b34 701 * irc: reuse a buffer with wrong type "channel" when a private message is received (issue #869)
fae149b3 702 * python: fix crash when invalid UTF-8 string is in a WeeChat hashtable converted to a Python dict (issue #1463)
acfb5a76 703 * relay: add missing field "notify_level" in message "_buffer_line_added" (issue #1529)
5b4d690e 704 * relay: fix slow send of data to clients when SSL is enabled
a489fa6e 705 * trigger: only return trigger's return code when condition evaluates to true (issue #592)
fae6bbb4
SH
706 * trigger: fix truncated trigger command with commands `/trigger` input|output|recreate
707 * trigger: do not hide values of options with `/set` command in cmd_pass trigger
fae149b3 708
62fc851d
SH
709Documentation::
710
0cc76fbe
SH
711 * add includes directory
712 * merge 53 auto-generated files into 11 files
62fc851d
SH
713 * fix broken literal blocks in Japanese docs with Firefox (issue #1466)
714
eb7b12f0
SH
715Tests::
716
2f6b462c
SH
717 * ci: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
718 * ci: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
c4832737 719 * core: run tests on plugins only if the plugins are enabled and compiled
bf964de9 720 * irc: add tests on IRC color and channel functions
eb7b12f0 721
1098e157
SH
722Build::
723
340d6646 724 * javascript: disable build by default and remove Debian packaging of JavaScript plugin (issue #360)
e130ee73 725 * core: make GnuTLS a required dependency
28ef9390 726 * core: fix build with CMake 3.17.0
1098e157
SH
727 * core: fix build with cygport on Cygwin
728
60fa5a75 729[[v2.8]]
7d5dc53c 730== Version 2.8 (2020-03-29)
60fa5a75 731
019bc79b
SH
732New features::
733
7cd566e8 734 * core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
fae6bbb4 735 * core: add debug option `-d` in command `/eval` (issue #1434)
3157d1f0 736 * api: add functions crypto_hash and crypto_hash_pbkdf2
c29b45a0 737 * api: add info "auto_connect" (issue #1453)
019bc79b 738 * api: add info "weechat_headless" (issue #1433)
481da803 739 * buflist: add pointer "window" in bar item evaluation
8a5046f0 740 * irc: add support of fake servers (no I/O, for testing purposes)
8ffe9be8 741 * relay: accept hash of password in init command of weechat protocol with option "password_hash" (PBKDF2, SHA256, SHA512)
d10e8342 742 * relay: reject client with weechat protocol if password or TOTP is received in init command but not set in WeeChat (issue #1435)
019bc79b 743
bb62485a
SH
744Bug fixes::
745
5edbeea3 746 * core: fix memory leak in completion
4d67af39 747 * core: flush stdout/stderr before forking in hook_process function (issue #1441)
e612e631 748 * core: fix evaluation of condition with nested "if" (issue #1434)
4480c7b7 749 * irc: split AUTHENTICATE message in 400-byte chunks (issue #1459)
fae6bbb4 750 * irc: copy temporary server flag in command `/server copy`
4e2718d2 751 * irc: add nick changes in the hotlist (except self nick change)
4f9c4fec 752 * irc: case-insensitive comparison on incoming CTCP command, force upper case on CTCP replies (issue #1439)
bb62485a 753 * irc: fix memory leak when the channel topic is changed
f9808203 754 * logger: fix crash when logging is disabled on a buffer and the log file was deleted in the meanwhile, when option logger.file.info_lines is on (issue #1444)
91701cbd 755 * php: fix crash when loading script with PHP 7.4 (issue #1452)
b79cd6d5 756 * relay: update buffers synchronization when buffers are renamed (issue #1428)
6daa09b0 757 * script: fix memory leak in read of script repository file if it has invalid content
fae6bbb4 758 * script: fix unexpected display of scripts list in buffer with command `/script list -i`
9ac4639c 759 * xfer: send signal "xfer_ended" after the received file has been renamed (issue #1438)
bb62485a 760
15f7d7ae
SH
761Tests::
762
c6757f64 763 * scripts: fix generation of test scripts with Python 3.8
00c34b0b
SH
764 * core: add tests on function secure_derive_key
765 * core: add tests on functions util_get_time_diff and util_file_get_content
766 * irc: add tests on IRC protocol functions and callbacks
15f7d7ae 767
60fa5a75
SH
768Build::
769
7352ddfc 770 * core: fix Cygwin build
95e34c71 771 * guile: add detection of Guile 3.0.0 (issue #1442)
60fa5a75 772 * irc: fix build with GnuTLS < 3.1.0 (issue #1431)
72b107a9 773 * php: add detection of PHP 7.4
c4881567 774 * ruby: add detection of Ruby 2.7 (issue #1455)
60fa5a75 775
a4fcd557
SH
776[[v2.7.1]]
777== Version 2.7.1 (2020-02-20)
778
779Bug fixes::
780
dc7f1e81
SH
781 * irc: fix crash when a new message 005 is received with longer nick prefixes (CVE-2020-9760)
782 * irc: fix crash when receiving a malformed message 352 (who) (CVE-2020-9759)
a4fcd557
SH
783 * irc: fix crash when receiving a malformed message 324 (channel mode) (CVE-2020-8955)
784
bff40e4c 785[[v2.7]]
236dbe3f 786== Version 2.7 (2019-12-08)
bff40e4c 787
85f6c5ee
SH
788New features::
789
f69079e3 790 * core: add option weechat.look.nick_color_hash_salt to shuffle nick colors (issue #635)
7aa24ecd 791 * core: add different icons sizes (16x16 to 512x512) (issue #1347)
6fa0f49a 792 * core: add file weechat.desktop
fae6bbb4
SH
793 * core: add reverse of string for screen in evaluation of expressions with `revscr:xxx`
794 * core: add length of string (number of chars and on screen) in evaluation of expressions with `length:xxx` and `lengthscr:xxx`
795 * core: add calculation of expression in evaluation of expressions with `calc:xxx` (issue #997)
6e382d26 796 * core: add optional default path (evaluated) in completion "filename"
fae6bbb4 797 * core: add support of modifiers in evaluation of expressions with `modifier:name,data,string`
e386965a 798 * api: add modifier "color_encode_ansi" (issue #528)
1a0ba4a9 799 * api: add modifier "eval_path_home"
015ae4a9 800 * irc: add filters on raw buffer (issue #1000)
876a0a16 801 * irc: add option irc.look.display_pv_warning_address to display a warning in private buffer if the remote nick address has changed (issue #892)
dc9964cc 802 * irc: add server option "ssl_password" (issue #115, issue #1416)
ae38b114 803 * irc: add "user" in output of irc_message_parse (issue #136)
e437613a 804 * irc: add options irc.color.message_kick and irc.color.reason_kick (issue #683, issue #684)
70fd7222 805 * logger: add option logger.file.color_lines (issue #528, issue #621)
fae6bbb4 806 * script: add options `-ol` and `-il` in command `/script list` to send translated string with list of scripts loaded, display "No scripts loaded" if no scripts are loaded
3c0bdc18 807 * xfer: add option xfer.file.download_temporary_suffix with default value ".part" (issue #1237)
85f6c5ee 808
92ecbe29
SH
809Bug fixes::
810
8cde654c 811 * core: set buffer name, short name and title only if the value has changed
17d3032b 812 * core: fix scrolling up in bare mode when switched to bare mode at the top of the buffer (issue #899, issue #978)
ecc7edda 813 * core: optimize load of configuration files
c391fe5f 814 * core: fix window separators not respecting window splits (issue #630)
98d9dc1a 815 * core: fix cursor mode info when prefix_align is none and with words split across lines (issue #610, issue #617, issue #619)
177fa6c5 816 * core: add support of reverse video in ANSI color codes
92ecbe29
SH
817 * core: fixed segfault during excessive evaluation in function string_repeat (issue #1400)
818 * buflist: fix extra spaces between buffers when conditions are used to hide buffers (regression introduced in version 2.6) (issue #1403)
e743e731 819 * irc: do not automatically open a channel with name "0" (issue #1429)
39b6fb61 820 * irc: remove option irc.network.channel_encode, add server option "charset_message" to control which part of the IRC message is decoded/encoded to the target charset (issue #832)
fae6bbb4 821 * irc: use path from option xfer.file.upload_path to complete filename in command `/dcc send` (issue #60)
53360a79 822 * logger: fix write in log file if it has been deleted or renamed (issue #123)
513f5a1e 823 * python: send "bytes" instead of "str" to callbacks in Python 3 when the string is not UTF-8 valid (issue #1389)
8cde654c 824 * relay: send message "_buffer_title_changed" to clients only when the title is changed
6c23f632 825 * xfer: fix memory leak when a xfer is freed and when the plugin is unloaded
92ecbe29 826
a8ca4b5b
SH
827Tests::
828
00c34b0b 829 * core: add tests on GUI color functions
a8ca4b5b 830
bff40e4c 831Build::
63a05d72 832
38bb297d 833 * core: fix build on Haiku (issue #1420)
41cf7588 834 * core: fix build on Alpine
d6905444 835 * core: remove file FindTCL.cmake
bff40e4c 836 * core: display an error on missing dependency in CMake (issue #916, issue #956)
a36e17ab 837 * debian: disable Javascript plugin on Debian Sid and Ubuntu Eoan
8ab64225 838 * debian: build with Guile 2.2
fae6bbb4 839 * guile: add support of Guile 2.2, disable `/guile eval` (issue #1098)
fe7a05cb 840 * python: add detection of Python 3.8
bff40e4c 841
7aa82db4 842[[v2.6]]
74778452 843== Version 2.6 (2019-09-08)
7aa82db4 844
04fd587f
SH
845New features::
846
a9a1066e 847 * core: add support of 32767 color pairs (issue #1343, issue #1345)
fae6bbb4 848 * core: add option `close` in command `/window` (issue #853)
68d6f1b4 849 * api: add infos "term_colors" and "term_color_pairs"
0957231d 850 * api: add function list_user_data (issue #666)
91781563 851 * api: add argument "strip_items" in function string_split
26c0b127 852 * buflist: add infolist "buflist" with list of buffer pointers (issue #1375)
fae6bbb4
SH
853 * exec: evaluate option exec.command.shell, change default value to `${env:SHELL}` (issue #1356)
854 * fset: add filters `h=xxx` and `he=xxx` to filter options by description (translated or in English)
464d3115 855 * irc: make command char optional in server option "command" (issue #615)
0bf5a5ae 856 * irc: add variables "user_max_length" and "host_max_length" in server structure (issue #1387)
04fd587f 857
7aa82db4
SH
858Bug fixes::
859
608ec9f4 860 * core: use fixed-width integer for computing nick and hashtable DJB2 key hashes, add values "djb2_32" and "sum_32" for option weechat.look.nick_color_hash (issue #1394)
c411ee47 861 * core: create or update option weechat.notify.xxx when function buffer_set is called with "notify" property (issue #1390)
2e071214 862 * core: fix memory leak in case of error when building content of bar item for display (issue #1384)
33ee8036 863 * core: send command line parameter to plugins only if the name starts with the plugin name followed by a colon
fae6bbb4 864 * core: auto disable upgrade process (command line option `--upgrade`) if the file weechat.upgrade is not found
fe90a5ed 865 * core: replace newlines by spaces in argument "completion" of function hook_command (issue #538)
7aa82db4 866 * core: replace char "," by "~" in color codes to separate foreground from background (issue #1264)
fae6bbb4 867 * alias: remove default aliases `/AME` and `/AMSG` (issue #1355)
bf21ca07 868 * buflist: use extra variables in option buflist.look.display_conditions (issue #1393)
bad8db72 869 * irc: fix parsing of messages 346 (invite list), 348 (exception list), 367 (ban list) and 728 (quiet list) when there is a colon before the timestamp (issue #1396)
210e8648 870 * irc: fix memory leak when removing a server
b6cc5ef7 871 * irc: fix length of user/nick/host in split of messages (issue #1387)
fd592c23 872 * irc: quote NICK command argument sent to the server only if there's a ":" in the nick (issue #1376, issue #1319)
768c0d9a 873 * irc: return all arguments in the PONG response to a PING (issue #1369)
60c61c39 874 * irc: disable server reconnection when the server buffer is closed (issue #236)
0d9b7ec9 875 * irc: strip spaces at beginning/end of addresses in server option "addresses" (issue #195)
b6c304ac 876 * irc: fix display of enabled/disabled client capabilities received in command CAP ACK (issue #151)
156d8557 877 * ruby: fix conversion of big integers on 32bit architecture (issue #1395)
7aa82db4 878
82a92bd4
SH
879Tests::
880
00c34b0b 881 * irc: add tests on IRC ignore, message and nick functions
82a92bd4 882
ab81128a
SH
883Build::
884
1beebdf0 885 * core: fix compilation with autotools on FreeBSD 12.0
e56c7e8c 886 * debian: disable Javascript plugin on Debian Buster/Bullseye (issue #1374)
ab81128a 887 * python: compile with Python 3 by default
ad64fd16 888 * python: use pkg-config to detect Python (issue #1382)
ab81128a 889
6a9937f0 890[[v2.5]]
2904a2e8 891== Version 2.5 (2019-06-06)
6a9937f0 892
57aa9e06
SH
893New features::
894
1582d923 895 * core: use getopt to parse command line arguments
0b5bff9e 896 * core: add option weechat.look.prefix_same_nick_middle (issue #930, issue #931)
97e90469 897 * core: add option weechat.look.buffer_time_same (issue #1127)
fae6bbb4
SH
898 * core: use seconds by default in `/repeat` interval, allow unit for the interval
899 * core: allow text in addition to a command in command `/repeat`
900 * core: add option `addreplace` in command `/filter` (issue #1055, issue #1312)
3d952177 901 * api: return allocated string in hook_info callback and function info_get
2b70d71a 902 * api: replace argument "keep_eol" by "flags" in function string_split (issue #1322)
80b980b2 903 * api: add function command_options (issue #928)
c2859096 904 * api: add function string_match_list
35237c80 905 * irc: add bar items "irc_nick", "irc_host" and "irc_nick_host"
a24817b1 906 * irc: add variable "host" in server structure
82871073 907 * relay: add support of UNIX socket (issue #733, issue #1333)
d290de2c 908 * relay: add option relay.weechat.commands (issue #928)
c91e47c4 909 * script: use SHA-512 instead of MD5 for script checksum
57aa9e06 910 * spell: rename aspell plugin to spell (issue #1299)
30768d4d 911 * trigger: add hooks "info" and "info_hashtable"
a84c32cf 912 * xfer: rename option xfer.network.speed_limit to xfer.network.speed_limit_send, add option xfer.network.speed_limit_recv (issue #269)
57aa9e06 913
e8159298
SH
914Bug fixes::
915
fae6bbb4
SH
916 * core: don't execute command scheduled by `/repeat` and `/wait` if the buffer does not exist any more
917 * core: set max length to 4096 for `/secure passphrase` (issue #1323)
525417c2 918 * core: refilter only affected buffers on filter change (issue #1309, issue #1311)
fae6bbb4 919 * fset: fix slow refresh of fset buffer during `/reload` (issue #1313)
2073408b 920 * irc: fix parsing of MODE command when there are colons after the first mode argument (issue #1296)
299c308f 921 * irc: fix memory leak in infos "irc_server_isupport" and "irc_server_isupport_value"
ff321123 922 * irc: fix length of string for SHA-512, SHA-256 and SHA-1 in help on ssl_fingerprint option
fae6bbb4 923 * irc: display an error with `/allchan -current` or `/allpv -current` if the current buffer is not an irc buffer (issue #1325)
f6c50615 924 * irc: fix update of channels modes with arguments when joining a channel (issue #1324)
b9044f5c 925 * irc: quote NICK command argument sent to the server (issue #1319)
64043d5a 926 * php: fix memory leak in functions string_eval_expression, string_eval_path_home, key_bind, hook_process_hashtable, hook_hsignal_send, info_get_hashtable, hdata_update
fae6bbb4 927 * relay: fix crash when a weechat relay client reloads the relay plugin with `/plugin reload relay` (issue #1327)
57aa9e06 928 * spell: fix detection of nick followed by the nick completer (issue #1306, issue #1307)
2b70d71a 929 * trigger: fix split of hook arguments (issue #1322)
e8159298 930
38535686
SH
931Tests::
932
00c34b0b 933 * core: add tests on function util_signal_search
38535686 934
6a9937f0
SH
935Build::
936
141b4281 937 * core: fix value of libdir in file weechat.pc (issue #1341, issue #1342)
c469f30b 938 * core: fix generation of man page weechat-headless with autotools
9b4fa109 939 * core: add CMake option "ENABLE_CODE_COVERAGE" to compile with code coverage options (CMake ≥ 3.0 is now required)
6a9937f0 940 * core: fix compilation on Mac OS (issue #1308)
2612adf8 941 * lua: add detection of Lua 5.3 with autotools
e1fb8433 942 * ruby: add detection of Ruby 2.6 (issue #1346)
ece92efd 943 * tests: fix compilation of tests on FreeBSD
6a9937f0 944
3f067f20 945[[v2.4]]
ff6ae69c 946== Version 2.4 (2019-02-17)
3f067f20 947
d0ea8017
SH
948New features::
949
1a34f871 950 * core: do not automatically add a space when completing "nick:" at the beginning of command line (the space can be added in option weechat.completion.nick_completer)
9d6ebeda 951 * core: add default keys kbd:[Ctrl+F11]/kbd:[Ctrl+F12] to scroll up/down one page in nicklist (same action as kbd:[F11]/kbd:[F12])
fae6bbb4 952 * core: add command line option `-t` (or `--temp-dir`) to create a temporary WeeChat home (deleted on exit)
ed3f281b 953 * api: add functions string_base_encode and string_base_decode, remove functions string_encode_base64 and string_decode_base64
d0ea8017 954 * api: add support of Time-based One-Time Password (TOTP), add infos "totp_generate" and "totp_validate"
e847068a 955 * buflist: add default keys kbd:[Ctrl+F1]/kbd:[Ctrl+F2] to scroll up/down one page in buflist (same action as kbd:[F1]/kbd:[F2])
d8abdc57 956 * buflist: add variable `${number2}`, always set with the indented buffer number
fae6bbb4 957 * exec: add option exec.command.shell to customize the shell used with `/exec -sh`
de8d6409 958 * relay: add support of close frame in websocket connection (issue #1281)
738535e7 959 * relay: add support of Time-based One-Time Password (TOTP) as second authentication factor in weechat protocol
d0ea8017 960
3f067f20
SH
961Bug fixes::
962
4d9fd4c4 963 * core: fix compilation of empty regular expression (not allowed on FreeBSD)
34fd37fa 964 * core: fix forced highlight on messages sent to other buffers (issue #1277)
7e547ee7 965 * aspell: look for suggestions only if the misspelled word has changed (issue #1175)
09a124c2 966 * buflist: add alternate key codes for kbd:[F1]/kbd:[F2] and kbd:[Alt+F1]/kbd:[Alt+F2] (compatibility with terminals)
3f067f20 967 * buflist: fix warning displayed when script buffers.pl is loaded (issue #1274)
87932bcb 968 * irc: fix parsing of whois messages in notify
b38b2abe 969 * irc: fix parsing of MODE, 341 (invite) and CHGHOST commands when there are colons (issue #1296)
fec7d38e 970 * irc: return IRC color code instead of WeeChat color code when decoding a too short ANSI color sequence
85ee15d4 971 * irc: fix encoding of italic attribute when colors are removed
80090947 972 * irc: fix parsing of "time" message tag on FreeBSD (issue #1289)
fae6bbb4 973 * relay: fix crash on `/upgrade` when the real IP is not set (issue #1294)
594917bf 974 * relay: fix memory leak in connection of client
3f067f20 975
c96e2f35
SH
976Tests::
977
00c34b0b
SH
978 * core: fix UTF-8 and evaluation tests on FreeBSD
979 * irc: add tests on IRC configuration and protocol functions
c96e2f35 980
34fd37fa
SH
981Build::
982
983 * core: add C compiler flag "-fsigned--char" to force "char" data type to be always signed (issue #1277)
984
df27a3b7 985[[v2.3]]
6620f40e 986== Version 2.3 (2018-10-21)
df27a3b7 987
7d7ca34a
SH
988New features::
989
fae6bbb4
SH
990 * core: add repeat of string in evaluation of expressions with `repeat:count,string` (issue #958)
991 * core: allow specifying buffer number/name for `/buffer localvar` (issue #1259)
992 * core: allow multiple arguments in command `/buffer close`
993 * core: allow multiple options `-r` (or `--run-command`) in command line arguments (issue #1248)
994 * core: add command line option `-P` (or `--plugins`) to customize the plugins to load at startup
995 * core: allow partial buffer name in command `/buffer close` (issue #1226)
587ddf72 996 * api: add function hook_line (issue #66)
93b5e604 997 * irc: display a warning when the value of option irc.server.xxx.autojoin is set to an invalid value
e28cb001 998 * relay: add real IP in client description (issue #1256)
9105c3ba 999 * trigger: allow creation of temporary variables with the regex
85681772 1000 * trigger: add hook "line"
7d7ca34a 1001
df27a3b7
SH
1002Bug fixes::
1003
82697714 1004 * core: fix evaluation of nested ternary operators (issue #1263)
6bf0dfdd 1005 * core: fix evaluation of condition when the left operand is an empty string
1a0087a7 1006 * core: fix string evaluation with regex replacement when the string is empty
fae6bbb4 1007 * core: fix check of tags in lines (command `/filter` and hook_print)
9fb8ca64 1008 * core: fix clear of completion item in case of partial completion (issue #1162)
df27a3b7 1009 * core: send signal "key_pressed" for mouse code only if the string is UTF-8 valid (issue #1220)
6d061a9a 1010 * api: fix memory leak in function string_split
f17cee75 1011 * lua: fix return code of mkdir functions in case of error (issue #1267)
b7d6be59 1012 * scripts: fix duplicated lines in output of script eval (python, perl, ruby, lua and guile)
df27a3b7 1013
ca90f28b
SH
1014Tests::
1015
00c34b0b 1016 * core: add tests on line and hook functions
ca90f28b 1017
e7cb025e
SH
1018Build::
1019
1020 * php: add detection of PHP 7.3
1021
8e7f5ea6 1022[[v2.2]]
c47916ac 1023== Version 2.2 (2018-07-14)
8e7f5ea6 1024
a38533cb
SH
1025New features::
1026
261cbdae 1027 * core: change default value of option weechat.look.hotlist_add_conditions to check connected relay clients via weechat protocol (issue #1206)
fae6bbb4 1028 * core: add reverse of string in evaluation of expressions with `rev:xxx` (issue #1200)
4592c943 1029 * core: send buffer pointer (when possible) in signal "hotlist_changed" (issue #1133)
aee5ee6f 1030 * core: add support of list options in curl (issue #826, issue #219)
fae6bbb4 1031 * core: allow merge of buffers by name in command `/buffer` (issue #1108, issue #1159)
e473161c 1032 * api: add function hashtable_add_from_infolist
6de98179 1033 * api: add function string_format_size in scripting API
5b3f2ad4 1034 * irc: add nick, host and log tags in message displayed in private buffer when the nick comes back on the server (issue #1221)
275a765d 1035 * irc: add support for IRCv3.2 chghost, add options irc.look.smart_filter_chghost and irc.color.message_chghost (issue #640)
6b1f3de4 1036 * irc: add support for IRCv3.2 invite-notify (issue #639)
393203b1 1037 * irc: add support for IRCv3.2 Client Capability Negotiation (issue #586, issue #623)
fae6bbb4
SH
1038 * irc: display current nick on connected servers in output of `/server list|listfull` (issue #1193)
1039 * irc: add option `-server` in command `/list` (issue #1165)
1040 * irc: add indexed ban list, add completion for `/unban` and `/unquiet` (issue #597, task #11374, task #10876)
744ded04 1041 * relay: add filtering on protocol in info "relay_client_count"
fae6bbb4 1042 * trigger: hide password in command `/msg nickserv set password`
27b89a0e 1043 * xfer: add option xfer.network.send_ack (issue #1171)
c9dd8140 1044
9dd8cc0d
SH
1045Bug fixes::
1046
19f37cee 1047 * core: fix TLS handshake failure on server connection when there are multiple addresses in the server (issue #1196)
ba19fa99 1048 * core: count number of chars instead of bytes for suffix in function string_cut
2026545a 1049 * core: fix delete of previous/next word (keys kbd:[Ctrl+w] and kbd:[Alt+d]) (issue #1195)
76f3be52 1050 * core: fix infinite loop in evaluation of strings (issue #1183)
1a5527cf 1051 * core: change default value of option weechat.look.window_title from "WeeChat ${info:version}" to empty string (issue #1182)
7bd8fb46 1052 * buflist: fix crash when setting the option buflist.look.signals_refresh with a list of signals
14a92934 1053 * fset: fix memory leak when switching the format with kbd:[Ctrl+x]
c17ab6aa 1054 * fset: fix truncation of option values when the length is greater than 4096 (issue #1218)
dc12f6be 1055 * fset: fix crash when applying filters after closing the fset buffer (issue #1204)
a5962cf7 1056 * irc: display message 354 (WHOX) received with missing parameters (issue #1212)
70a93051 1057 * irc: always set nick away status on WHO response (sent manually or automatically with server option "away_check")
8fd2a909 1058 * irc: fix a crash when calling the function hdata_string on the "prefix" variable in the nick
3d5ea005 1059 * irc: fix split of messages when server option "split_msg_max_length" is set to 0 (no split) (issue #1173)
c90572ba
SH
1060 * irc: send whole IRC message including IRCv3 tags in the signals irc_in, irc_in2, irc_raw_in and irc_raw_in2 (issue #787)
1061 * irc: fix memory leak when receiving a message with IRCv3 tags
9a969c41 1062 * guile: fix memory leak in 7 functions returning allocated strings
2682fb45 1063 * lua: fix macros used to return values
9a969c41 1064 * php: fix return code of functions config_write_option and config_write_line
c3d1c973 1065 * php: fix memory leak in 72 functions returning allocated strings
ef419981 1066 * python: fix crash when loading a script with Python ≥ 3.7 (issue #1219)
5decae14 1067 * relay: fix socket creation for relay server on OpenBSD (issue #1213)
9a969c41 1068 * ruby: fix memory leak in 7 functions returning allocated strings
26d972dd 1069 * script: fix memory leak in case of invalid XML content in list of scripts
9265acf8 1070 * scripts: fix memory leak in hook_info callback
41d63511 1071 * scripts: fix return value of hook_infolist callback (pointer instead of string)
3467d6eb 1072 * scripts: return long integer instead of string in function infolist_time
27b89a0e 1073 * xfer: set option TCP_NODELAY on socket when receiving a file via DCC (issue #1171)
9dd8cc0d 1074
fc584316
SH
1075Documentation::
1076
1077 * core: split man pages weechat and weechat-headless
1078
cc06b95b
SH
1079Tests::
1080
00c34b0b 1081 * core, scripts: add tests on infolists
cc06b95b 1082
8e7f5ea6
SH
1083Build::
1084
1085 * core: fix build with CMake and Ninja
5f2ed55c 1086 * debian: add package weechat-headless with the headless binary and its man page
33198327 1087 * javascript: fix compilation of javascript plugin with autotools on some Linux distributions (issue #1208)
7554febf 1088 * python: add detection of Python 3.7
8e7f5ea6 1089
515334e5 1090[[v2.1]]
47e38255 1091== Version 2.1 (2018-03-18)
515334e5 1092
40749afc
SH
1093New features::
1094
fae6bbb4
SH
1095 * core: add binary weechat-headless to run WeeChat without interface, with optional daemon mode (command line option `--daemon`) (issue #1120)
1096 * core: add options `-newbuffer`, `-free` and `-switch` in command `/print` (issue #1113)
1097 * core: add option `-y` in command `/print`, add support of buffers with free content
1098 * core: add option `add` in command `/buffer` (issue #1113)
40749afc 1099 * core: add option weechat.completion.partial_completion_templates to force partial completion on specific templates
87be29ed 1100 * api: add hashtable with variables in plugin structure
7989e523 1101 * api: add time in info "date" (WeeChat compilation date/time) (issue #1138)
be3634f2 1102 * irc: add server option "split_msg_max_length"
d8abdc57 1103 * irc: allow `${irc_server.xxx}` and `${server}` in server evaluated options (issue #1144)
710db5db 1104 * logger: add option logger.file.fsync (issue #1145)
a4b1952c 1105 * logger: add option logger.look.backlog_conditions (issue #1132)
7989e523 1106 * script: change default value of option script.look.sort from "p,n" to "i,p,n"
21e63e79 1107 * scripts: add configuration file for each script plugin (_python.conf_, _perl.conf_, ...)
fae6bbb4 1108 * scripts: add `eval` option in script commands and info "xxx_eval" (python, perl, ruby, lua and guile) (issue #128)
fbc87573 1109 * scripts: add infos "xxx_interpreter" and "xxx_version" in script plugins (issue #1075)
fae6bbb4 1110 * scripts: add option `version` in script commands (issue #1075)
20f9ca7d 1111 * scripts: display the script name in stdout/stderr output from scripts
e9b6d73b 1112
1be74b96
SH
1113Bug fixes::
1114
1115 * core: fix regression on execution of hook_print callbacks (introduced in version 2.0)
1116
72db3f74
SH
1117Build::
1118
1119 * ruby: add detection of Ruby 2.5 (issue #1122)
1120
6f64cd0c
SH
1121[[v2.0.1]]
1122== Version 2.0.1 (2017-12-20)
1123
515334e5
SH
1124Bug fixes::
1125
e473161c
SH
1126 * python: fix arguments status/gnutls_rc/sock in hook_connect callback
1127 * python: fix argument fd in hook_fd callback
515334e5 1128
9ecc431d 1129[[v2.0]]
f0a06cc8 1130== Version 2.0 (2017-12-03)
9ecc431d
SH
1131
1132New features::
1133
db0bdc2a 1134 * core: add flag "input_get_empty" in buffer
835c94db 1135 * core: add signals "buffer_filters_enabled" and "buffer_filters_disabled"
78aacb59 1136 * core: support loading of plugins from path in environment variable "WEECHAT_EXTRA_LIBDIR" (issue #971, issue #979)
fae6bbb4 1137 * core: make value optional in command `/buffer set` (issue #746, issue #1088)
1d56e17b 1138 * core: allow floating point and hexadecimal numbers in comparison of evaluated values
0db48c72 1139 * core: add option weechat.look.save_config_with_fsync (issue #1083)
e473161c
SH
1140 * api: add support of prefix "quiet:" in function key_unbind to quietly remove keys
1141 * api: add argument "recurse_subdirs" in function exec_on_files
7989e523
SH
1142 * alias: add infolist "alias_default" (list of default aliases)
1143 * buflist: add two new bar items ("buflist2" and "buflist3") using the same format configuration options (issue #990)
1144 * buflist: add option buflist.look.add_newline (issue #1027)
1145 * fset: new plugin "fset" (fast set of WeeChat and plugins options) (issue #584)
1146 * php: new plugin "php" (issue #909)
97e06675 1147 * script: add local variable "filter" in the script buffer (issue #1037)
ff448b90 1148
f851246f
SH
1149Bug fixes::
1150
84013b82 1151 * core: do not change the chat prefix size when a filtered line is added (issue #1092)
7a452ce8 1152 * core: fix display of nicks in nicklist when they are in a group with sub-groups (issue #1079)
5aab494d 1153 * core, plugins: check return code of strftime function
aeeec38d 1154 * core: fix cast of time_t (to "long long" instead of "long") (issue #1051)
29d24c28 1155 * core: call the config hook when options are renamed or removed
e473161c
SH
1156 * api: change type of arguments status/gnutls_rc/sock in hook_connect callback from string to integer (in scripts)
1157 * api: change type of argument fd in hook_fd callback from string to integer (in scripts)
8c046d9b 1158 * buflist: remove recursive evaluation of extra variables (issue #1060)
255e46ea
SH
1159 * guile: return integer (0/1) instead of boolean in API functions
1160 * guile: fix return value of static strings in API functions
d427fc05 1161 * irc: do not clear nicklist when joining an already joined channel if the option irc.look.buffer_open_before_join is on (issue #1081)
de9f7716 1162 * irc: fix CTCP PING reply when the option irc.ctcp.ping is set to non-empty value
79491466 1163 * lua: fix boolean return value (as integer) in API functions
a58d3fac 1164 * 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)
f851246f 1165
8c01e05d 1166Tests::
3ac05843 1167
00c34b0b 1168 * core: display an error if the required locale en_US.UTF-8 is not installed
e8af8536 1169 * scripts: add scripting API tests (issue #104)
3ac05843 1170
8a322495
SH
1171Build::
1172
038473b0 1173 * core: fix build with ncurses and separate tinfo (bug #41245, issue #1090)
8a322495
SH
1174 * javascript: fix detection of libv8 with autotools on Ubuntu Trusty
1175
ae66a4d8
SH
1176[[v1.9.1]]
1177== Version 1.9.1 (2017-09-23)
1178
1179Bug fixes::
1180
1181 * buflist: fix crash in auto-scroll of bar when the buflist item is not the first item in the bar
6b026279 1182 * logger: call strftime before replacing buffer local variables (CVE-2017-14727)
ae66a4d8
SH
1183 * relay: fix send of "PART" command in backlog (irc protocol)
1184
2eebde03 1185[[v1.9]]
1206a7bb 1186== Version 1.9 (2017-06-25)
2eebde03 1187
a87e3908
SH
1188New features::
1189
7989e523
SH
1190 * core: improve speed of nicklist bar item callback
1191 * core: allow index for hdata arrays in evaluation of expressions
e2589aaa 1192 * api: allow update of variables "scroll_x" and "scroll_y" in bar_window with function hdata_update
e473161c 1193 * api: add functions config_option_get_string and hdata_compare
f140a919 1194 * buflist: add option buflist.look.auto_scroll (issue #332)
a87e3908 1195 * buflist: add keys kbd:[F1]/kbd:[F2], kbd:[Alt+F1]/kbd:[Alt+F2] to scroll the buflist bar
fa3a4355 1196 * buflist: display a warning when the script "buffers.pl" is loaded
d0b47b5c 1197 * buflist: add support of char "~" in option buflist.look.sort for case insensitive comparison
b3dd47ed 1198 * buflist: add variable `${format_name}` in bar item evaluation and option buflist.format.name (issue #1020)
92a40052 1199 * buflist: add variables `${current_buffer}` and `${merged}` (booleans "0" / "1") in bar item evaluation
fae6bbb4 1200 * relay: add option `start` in command `/relay`
593eee86 1201 * trigger: add "irc_server" and "irc_channel" pointers in data for IRC signal/modifier hooks
b522060c 1202
2eebde03
SH
1203Bug fixes::
1204
2cfecc2e 1205 * core: fix bind of keys with space key, like kbd:[Alt+Space] (issue #603, bug #32133)
da8f19bc 1206 * core: fix infinite loop when the terminal is closed on the secure password prompt (issue #1010)
d320b72d 1207 * buflist: fix long mouse gestures
02b1fe99 1208 * buflist: fix slow switch of buffer when there are a lot of buffers opened (issue #998)
fae6bbb4 1209 * buflist: add option `bar` in command `/buflist`, do not automatically add the "buflist" bar when the option buflist.look.enabled is off (issue #994)
455a0e50 1210 * buflist: fix crash on drag & drop of buffers
fae6bbb4 1211 * irc: don't reset nick properties (prefixes/away/account/realname) on `/names` when the nick already exists (issue #1019)
a603c5e4 1212 * irc: fix memory leak in case of error in "ecdsa-nist256p-challenge" SASL mechanism
4947ed6d 1213 * relay: rebind on address after option relay.network.bind_address is changed
1bace336 1214 * relay: fix parsing of CAP command arguments in irc protocol (issue #995)
2eebde03 1215
c51aa796 1216[[v1.8]]
664cb659 1217== Version 1.8 (2017-05-13)
c51aa796 1218
49fb896a
SH
1219New features::
1220
df00926d 1221 * core: add option weechat.completion.nick_case_sensitive (issue #981)
779420d5 1222 * core: add wildcard matching operator (`+=*+` and `+!*+`) in evaluation of expressions (issue #611)
fae6bbb4 1223 * core: add cut of string in evaluation of expressions with `cut:xxx` (number of chars) and `cutscr:xxx` (number of chars displayed on screen)
4c8d37e0 1224 * core: add ternary operator (condition) in evaluation of expressions (`${if:condition?value_if_true:value_if_false}`)
fae6bbb4 1225 * core: add resize of window parents with `/window resize [h/v]size` (task #11461, issue #893)
7989e523 1226 * core: add hotlist pointer in buffer structure
fae6bbb4 1227 * core: add last start date in output of command `/version` after at least one `/upgrade` (issue #903)
e473161c
SH
1228 * api: add arraylist functions: arraylist_new, arraylist_size, arraylist_get, arraylist_search, arraylist_insert, arraylist_add, arraylist_remove, arraylist_clear, arraylist_free
1229 * api: add dynamic string functions: string_dyn_alloc, string_dyn_copy, string_dyn_concat, string_dyn_free
1230 * api: add special key "__quiet" in hashtable for function key_bind
1231 * api: add `${re:#}` to get the index of last group captured in function string_eval_expression
070249ca
SH
1232 * aspell: add options to control delimiters in suggestions: aspell.color.suggestion_delimiter_{dict|word} and aspell.look.suggestion_delimiter_{dict|word} (issue #940)
1233 * buflist: new plugin "buflist" (bar item with list of buffers)
fae6bbb4 1234 * irc: add option `open` in command `/server` (issue #966)
f54ed11f 1235 * irc: send signal "irc_server_lag_changed" and store the lag in the server buffer (local variable)
fae6bbb4
SH
1236 * 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)
1237 * irc: add option `-include` in commands `/allchan`, `/allpv` and `/allserv` (issue #572)
0ef979a5 1238 * irc: don't smart filter modes given to you (issue #530, issue #897)
2606b8a5 1239 * script: remove option script.scripts.url_force_https, use HTTPS by default in option script.scripts.url
0ef979a5 1240
d6977490
SH
1241Bug fixes::
1242
07b7be03 1243 * core: fix memory leak in display of mouse event debug info
fae6bbb4 1244 * core: fix command `/cursor stop` (do not toggle cursor mode) (issue #964)
5661b4da 1245 * core: fix delayed refresh when the signal SIGWINCH is received (terminal resized), send signal "signal_sigwinch" after refreshes (issue #902)
e5fd20fd 1246 * irc: fix update of server addresses on reconnection when the evaluated content has changed (issue #925)
e8cdda31 1247 * irc: fix crash in case of invalid server reply during SASL authentication with DH-BLOWFISH or DH-AES mechanism
fae6bbb4 1248 * irc: fix double decoding of IRC colors in messages sent/displayed by commands `/msg` and `/query` (issue #943)
e6d5d791 1249 * irc: fix parsing of message 324 (modes) when there is a colon before the modes (issue #913)
532216e7 1250 * relay: check buffer pointer received in "sync" and "desync" commands (weechat protocol) (issue #936)
7ceacabd 1251 * relay: remove buffer from synchronized buffers when it is closed (fix memory leak)
d6977490 1252
c51aa796
SH
1253Build::
1254
1255 * core: fix compilation on FreeBSD with autotools (issue #276)
36187a24 1256 * python: add detection of Python 3.6
d3da29ba 1257 * ruby: add detection of Ruby 2.4 (issue #895)
c51aa796 1258
10917530
SH
1259[[v1.7.1]]
1260== Version 1.7.1 (2017-04-22)
1261
1262Bug fixes::
1263
497dc3cd 1264 * irc: fix parsing of DCC filename (CVE-2017-8073)
10917530 1265
b51beb67 1266[[v1.7]]
fb1a0231 1267== Version 1.7 (2017-01-15)
b51beb67 1268
111f8245
SH
1269New features::
1270
8ad3b9af 1271 * core: add option weechat.look.align_multiline_words (issue #411, issue #802)
65ff49f0 1272 * core: add optional command prefix in completion templates "commands", "plugins_commands" and "weechat_commands"
d0af6b8d 1273 * core: add optional arguments in completion template, sent to the callback
fae6bbb4 1274 * core: add option `time` in command `/debug`
6c1815d3 1275 * core, xfer: display more information on fork errors (issue #573)
fae6bbb4 1276 * core: add a slash before commands completed in arguments of `/command`, `/debug time`, `/key bind`, `/key bindctxt`, `/mute`, `/repeat`, `/wait`
fe95a1c8 1277 * core: add a warning in header of configuration files to not edit by hand (issue #851)
7989e523
SH
1278 * api: add info "uptime" (WeeChat uptime)
1279 * api: add info "pid" (WeeChat PID) (issue #850)
fae6bbb4
SH
1280 * alias: add a slash before commands completed in arguments of `/alias`
1281 * exec: add option `-oc` in command `/exec` to execute commands in process output, don't execute commands by default with `-o` (issue #877)
7989e523
SH
1282 * fifo: add file fifo.conf and option fifo.file.path to customize FIFO pipe path/filename (issue #850, issue #122)
1283 * irc: add server option "usermode" (issue #377, issue #820)
1284 * irc: add tag "self_msg" on self messages (issue #840)
28fde407 1285 * irc: evaluate content of server option "ssl_fingerprint" (issue #858)
96499ad3 1286 * irc: change default value of option irc.network.lag_reconnect from 0 to 300 (issue #818)
fae6bbb4 1287 * trigger: do not hide email in command `/msg nickserv register password email` (issue #849)
b51beb67 1288
133cbbd9
SH
1289Bug fixes::
1290
0f5192da 1291 * core: fix deadlock when quitting after a signal SIGHUP/SIGQUIT/SIGTERM is received (issue #32)
570f4817 1292 * core: fix display of empty lines in search mode (issue #829)
e473161c 1293 * api: fix crash in function string_expand_home when the HOME environment variable is not set (issue #827)
e01ed806 1294 * exec: fix memory leak in display of process output
fae6bbb4 1295 * irc: fix option `-temp` in command `/server` (issue #880)
914bda1a 1296 * irc: fix close of server channels which are waiting for the JOIN when the server buffer is closed (issue #873)
28125942 1297 * irc: fix buffer switching on manual join for forwarded channels (issue #876)
cfc22c70 1298 * irc: add missing tags on CTCP message sent
ef419981 1299 * lua: fix integers returned in Lua ≥ 5.3 (issue #834)
b547bf6b 1300 * relay: make HTTP headers case-insensitive for WebSocket connections (issue #888)
d4a9c48c 1301 * relay: set status to "authentication failed" and close immediately connection in case of authentication failure in weechat and irc protocols (issue #825)
4c6d9e14 1302 * script: reload a script after upgrade only if it was loaded, set autoload only if the script was auto-loaded (issue #855)
133cbbd9 1303
2122cbf9
SH
1304Build::
1305
d26380a9 1306 * core, irc, xfer: fix compilation on macOS (add link with resolv) (issue #276)
f065b43b 1307 * core: add build of xz package with make dist (CMake)
9b5da2f1 1308 * tests: fix compilation of tests on FreeBSD 11.0
2122cbf9 1309
951d1410 1310[[v1.6]]
cc0337bb 1311== Version 1.6 (2016-10-02)
35e285e8 1312
a6a221e5 1313New features::
f23b6be1 1314
fae6bbb4
SH
1315 * core: add optional argument `lowest`, `highest` or level mask in command `/input hotlist_clear`
1316 * core: add option `cycle` in command `/buffer`
6c1815d3 1317 * core, irc, xfer: display more information on memory allocation errors (issue #573)
e473161c
SH
1318 * api: add "extra" argument to evaluate extra variables in function string_eval_expression (issue #534)
1319 * api: remove functions printf_date and printf_tags
34ccf3fd 1320 * irc: rename server options "default_msg_{kick|part|quit}" to "msg_{kick|part|quit}", evaluate them
7989e523 1321 * relay: add option relay.network.allow_empty_password (issue #735)
6aa94c08 1322 * relay: allow escape of comma in command "init" (weechat protocol) (issue #730)
7989e523 1323 * trigger: add support for one-time triggers (issue #399, issue #509)
35e285e8 1324
7b053b7c
SH
1325Bug fixes::
1326
4994e9cb 1327 * core, irc, xfer: refresh domain name and name server addresses before connection to servers (fix connection to servers after suspend mode) (issue #771)
e473161c
SH
1328 * api: fix return of function string_match when there are multiple masks in the string (issue #812)
1329 * api: fix crash in function network_connect_to if address is NULL
1330 * api: fix connection to servers with hook_connect on Windows 10 with Windows subsystem for Linux (issue #770)
1331 * api: fix crash in function string_split_command when the separator is not a semicolon (issue #731)
1c626ab9 1332 * irc: fix socket leak in connection to server (issue #358, issue #801)
5d5335b2 1333 * irc: fix display of service notice mask (message 008) (issue #429)
eff8d3f3 1334 * irc: fix NULL pointer dereference in 734 command callback (issue #738)
09c52755 1335 * relay: return an empty hdata when the requested hdata or pointer is not found (issue #767)
2f0d39f9 1336 * xfer: fix crash on DCC send if option xfer.file.auto_accept_nicks is set (issue #781)
7b053b7c
SH
1337
1338Documentation::
1339
7994932b 1340 * switch to asciidoctor to build docs and man page (issue #722)
7b053b7c 1341
aec9e2eb
SH
1342Build::
1343
1344 * python: add detection of Python 3.5
1345
951d1410 1346[[v1.5]]
c017af8e 1347== Version 1.5 (2016-05-01)
99741d42 1348
6aa94c08 1349New features::
f23b6be1 1350
0572d0c4 1351 * core: evaluate content of option "weechat.look.item_time_format" (issue #791)
6aa94c08
SH
1352 * core: change default value of option weechat.look.nick_color_hash to "djb2"
1353 * 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)
1354 * core: move irc bar item "away" to core, move options irc.look.item_away_message and irc.color.item_away to core (issue #692)
7989e523 1355 * api: add support of functions in hook_process
6aa94c08 1356 * api: add pointer in callbacks used in scripting API (issue #406)
7989e523 1357 * irc: add option irc.network.sasl_fail_unavailable (issue #600, issue #697)
fae6bbb4 1358 * irc: add multiple targets and support of `-server` in command `/ctcp` (issue #204, issue #493)
6aa94c08
SH
1359 * trigger: add "recover" in default triggers cmd_pass/msg_auth, and "regain" in default trigger "msg_auth" (issue #511)
1360
7b053b7c
SH
1361Internationalization::
1362
1363 * add Portuguese translations
1364
1365Bug fixes::
f23b6be1 1366
6aa94c08
SH
1367 * core: fix nick coloring when stop chars and a forced color are used: first remove chars then look for forced color
1368 * core: check that pointers received in arguments are not NULL in buffers and windows functions
1369 * core: fix truncation of buffer names in hotlist (issue #668)
1370 * core: fix update of window title under Tmux (issue #685)
e473161c 1371 * api: fix number of arguments returned by function string_split when keep_eol is 2 and the string ends with separators
6aa94c08 1372 * irc: fix first message displayed in raw buffer when the message is modified by a modifier (issue #719)
fae6bbb4
SH
1373 * irc: add missing completion "*" for target in command `/msg`
1374 * irc: fix `/msg` command with multiple targets including "*"
6aa94c08
SH
1375 * lua: fix crash when a lua function doesn't return a value and a string was expected (issue #718)
1376 * relay: do not execute any command received in a PRIVMSG message from an irc relay client (issue #699)
1377 * relay: fix the max number of clients connected on a port, allow value 0 for "no limit" (issue #669)
1378 * relay: fix decoding of multiple frames in a single websocket message, send PONG on PING received in a websocket frame (issue #675)
1379 * relay: fix command "input" received from clients with only spaces in content of message (weechat protocol) (issue #663)
1380 * script: force refresh of scripts buffer after download of scripts list (issue #693)
1381 * xfer: fix DCC file received when the terminal is resized (issue #677, issue #680)
3c953780 1382
7b053b7c
SH
1383Build::
1384
252aca82 1385 * python: fix detection of Python shared libraries (issue #676)
7b053b7c
SH
1386 * ruby: add detection of Ruby 2.3 (issue #698)
1387
951d1410 1388[[v1.4]]
0e3ac938 1389== Version 1.4 (2016-01-10)
46a9d17a 1390
6aa94c08 1391New features::
f23b6be1 1392
fae6bbb4 1393 * core: add a parent name in options, display inherited values if null in `/set` output, add option weechat.color.chat_value_null (issue #629)
6aa94c08
SH
1394 * core: add tag "term_warning" in warnings about wrong $TERM on startup
1395 * core: add option weechat.look.paste_auto_add_newline (issue #543)
7989e523 1396 * core: display a more explicit error when a filter fails to be added (issue #522)
e473161c
SH
1397 * api: add function string_hex_dump
1398 * api: add argument "length" in function utf8_is_valid
fae6bbb4
SH
1399 * alias: display completion in `/alias list` (issue #518)
1400 * fifo: add `/fifo` command
6aa94c08
SH
1401 * irc: track real names using extended-join and WHO (issue #351)
1402 * irc: add support of SNI (Server Name Indication) in SSL connection to IRC server (issue #620)
6aa94c08 1403 * irc: add support of "cap-notify" capability (issue #182, issue #477)
fae6bbb4 1404 * irc: add command `/cap` (issue #8)
6aa94c08 1405 * irc: add hex dump of messages in raw buffer when debug is enabled for irc plugin (level 2 or more)
7b053b7c
SH
1406 * irc: evaluate content of server option "addresses"
1407 * irc: move option irc.network.alternate_nick into servers (irc.server.xxx.nicks_alternate) (issue #633)
1408 * irc: use current channel and current server channels first in completions "irc_server_channels" and "irc_channels" (task #12923, issue #260, issue #392)
1409 * logger: display system error when the log file can not be written (issue #541)
7989e523
SH
1410 * relay: add option relay.irc.backlog_since_last_message (issue #347)
1411 * script: add option script.scripts.download_timeout
fae6bbb4 1412 * script: add completion with languages and extensions, support search by language/extension in `/script search`
7b053b7c
SH
1413
1414Bug fixes::
f23b6be1 1415
6aa94c08 1416 * core: fix execution of empty command name ("/" and "/ " are not valid commands)
fae6bbb4 1417 * core: fix memory leak when using multiple `-d` or `-r` in command line arguments
6aa94c08
SH
1418 * core: don't complain any more about "tmux" and "tmux-256color" $TERM values when WeeChat is running under Tmux (issue #519)
1419 * 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)
e473161c 1420 * api: fix handle of invalid escape in function string_convert_escaped_chars
6aa94c08
SH
1421 * alias: do not allow slashes and spaces in alias name (issue #646)
1422 * irc: fix channel forwarding when option irc.look.buffer_open_before_{autojoin|join} is on (issue #643)
1423 * irc: add a missing colon before the password in PASS message, if the password has spaces or begins with a colon (issue #602)
1424 * irc: fix charset decoding in incoming private messages (issue #520)
1425 * irc: display the arrow before server name in raw buffer
1426 * irc: fix display of messages sent to server in raw buffer
1427 * irc: fix display of invalid UTF-8 chars in raw buffer
1428 * relay: display the arrow before client id and protocol in raw buffer
1429 * ruby: fix load of scripts requiring "uri" (issue #433)
7b053b7c
SH
1430
1431Documentation::
1432
1433 * add Czech man page and quickstart guide (issue #490)
1434
1435Tests::
1436
00c34b0b
SH
1437 * core: add a test to check if all plugins are loaded
1438 * core: fix locale used to execute tests (issue #631)
7b053b7c
SH
1439
1440Build::
1441
1442 * core: add scripts version.sh and build-debian.sh, separate stable from devel Debian packaging
6aa94c08 1443 * ruby: fix Ruby detection when pkg-config is not installed
2c4b0e32 1444
951d1410 1445[[v1.3]]
9019d031 1446== Version 1.3 (2015-08-16)
1396e9b0 1447
6aa94c08 1448New features::
f23b6be1 1449
6aa94c08
SH
1450 * core: add completion "colors" (issue #481)
1451 * 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)
1452 * core: add option weechat.look.key_grab_delay to set the default delay when grabbing a key with kbd:[Alt+k]
1453 * core: add option weechat.look.confirm_upgrade (issue #463)
6aa94c08 1454 * core: add signal "signal_sighup"
7989e523
SH
1455 * core: allow kbd:[Ctrl+c] to exit WeeChat when the passphrase is asked on startup (issue #452)
1456 * core: allow pointer as list name in evaluation of hdata (issue #450)
fae6bbb4 1457 * api: add support of evaluated sub-strings and current date/time in function string_eval_expression and command `/eval`
e473161c 1458 * api: add function string_eval_path_home
fae6bbb4 1459 * alias: add options `add`, `addcompletion` and `del` in command `/alias`, remove command `/unalias` (issue #458)
6aa94c08
SH
1460 * irc: add option irc.network.channel_encode (issue #218, issue #482)
1461 * irc: add option irc.color.topic_current (issue #475)
1462 * irc: evaluate content of server option "nicks"
1463 * logger: evaluate content of option logger.file.path (issue #388)
6aa94c08 1464 * script: rename option script.scripts.dir to script.scripts.path, evaluate content of option (issue #388)
7b053b7c 1465 * relay: display value of HTTP header "X-Real-IP" for websocket connections (issue #440)
6aa94c08
SH
1466 * xfer: evaluate content of options xfer.file.download_path and xfer.file.upload_path (issue #388)
1467
7b053b7c 1468Bug fixes::
f23b6be1 1469
e473161c 1470 * core: flush stdout/stderr after sending text directly on them (fix corrupted data sent to hook_process callback) (issue #442)
fae6bbb4 1471 * core: allow execution of command `/input return` on a buffer which is not displayed in a window
6aa94c08 1472 * core: allow jump from current to previous buffer with default keys kbd:[Alt+j], kbd:[01..99] (issue #466)
e473161c 1473 * core: fix crash if a file descriptor used in hook_fd is too high (> 1024 on Linux/BSD) (issue #465)
6aa94c08 1474 * core: fix display of invalid UTF-8 chars in bars
fae6bbb4 1475 * core: fix bar item "scroll" after `/buffer clear` (issue #448)
6aa94c08 1476 * core: fix display of time in bare display when option weechat.look.buffer_time_format is set to empty string (issue #441)
e473161c
SH
1477 * api: add missing function infolist_search_var in script API (issue #484)
1478 * api: add missing function hook_completion_get_string in script API (issue #484)
6aa94c08
SH
1479 * api: fix type of value returned by functions strcasestr, utf8_prev_char, utf8_next_char, utf8_add_offset and util_get_time_string
1480 * api: fix type of value returned by function strcasestr
1481 * fifo: fix send error on Cygwin when something is received in the pipe (issue #436)
1482 * irc: fix update of lag item when the server lag changes
fae6bbb4 1483 * irc: do not allow command `/query` with a channel name (issue #459)
6aa94c08 1484 * irc: decode/encode only text in IRC messages and not the headers (bug #29886, issue #218, issue #451)
fae6bbb4
SH
1485 * irc: fix crash with commands `/allchan`, `/allpv` and `/allserv` if the executed command closes buffers (issue #445)
1486 * 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)
6aa94c08
SH
1487 * irc: fix errors displayed on WHOX messages received (issue #376)
1488 * xfer: fix crash if the DCC file socket number is too high (> 1024 on Linux/BSD) (issue #465)
1489 * xfer: fix parsing of DCC chat messages (handle "\r\n" at the end of messages) (issue #425, issue #426)
7b053b7c
SH
1490
1491Documentation::
1492
f065b43b 1493 * replace PREFIX with CMAKE_INSTALL_PREFIX in CMake instructions (issue #354)
7b053b7c
SH
1494
1495Build::
1496
1497 * lua: add detection of Lua 5.3
1498 * ruby: add detection of Ruby 2.2
1396e9b0 1499
951d1410 1500[[v1.2]]
66abd517 1501== Version 1.2 (2015-05-10)
ebcd84af 1502
6aa94c08 1503New features::
f23b6be1 1504
6aa94c08
SH
1505 * core: add signals "signal_sigterm" and "signal_sigquit" (issue #114)
1506 * core: use environment variable WEECHAT_HOME on startup (issue #391)
6aa94c08
SH
1507 * core: add options weechat.look.quote_{nick_prefix|nick_suffix|time_format} to customize quoted messages in cursor mode (issue #403)
1508 * core: add a welcome message on first WeeChat run (issue #318)
1509 * core: add options weechat.look.word_chars_{highlight|input} (issue #55, task #9459)
7b053b7c 1510 * core: remove WeeChat version from config files (issue #407)
6aa94c08 1511 * core: display a warning on startup if the locale can not be set (issue #373)
fae6bbb4
SH
1512 * core: allow "*" as plugin name in command `/plugin reload` to reload all plugins with options
1513 * core: add option `-s` in command `/eval` to split expression before evaluating it (no more split by default) (issue #324)
6aa94c08 1514 * core: add priority in plugins to initialize them in order
fae6bbb4
SH
1515 * api: add support of environment variables in function string_eval_expression and command `/eval`
1516 * api: add support of full color option name in functions color and string_eval_expression and in command `/eval`
6aa94c08 1517 * api: add "_chat_line" (line pointer) in hashtable of hook_focus
7989e523
SH
1518 * irc: add support of "account-notify" capability (issue #11, issue #246)
1519 * irc: add support of "ecdsa-nist256p-challenge" SASL mechanism (issue #251)
6aa94c08
SH
1520 * irc: display a warning when the option irc.look.display_away is set to "channel"
1521 * irc: optimize search of a nick in nicklist (up to 3x faster)
1522 * irc: add support of SHA-256 and SHA-512 algorithms in server option "ssl_fingerprint" (issue #281)
fae6bbb4 1523 * irc: add option `-noswitch` in command `/query` (issue #394)
6aa94c08 1524 * irc: format message 008 (RPL_SNOMASK) (issue #144)
6aa94c08 1525 * irc: remove server "freenode" from default config file (issue #309)
7989e523 1526 * javascript: new script plugin for JavaScript
6aa94c08 1527
7b053b7c 1528Bug fixes::
f23b6be1 1529
fae6bbb4 1530 * core: add missing completions in command `/input`
6aa94c08
SH
1531 * 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
1532 * irc: fix color of new nick in nick changes messages when option irc.look.color_nicks_in_server_messages is off
fae6bbb4 1533 * irc: fix crash when setting an invalid regex with `/list -re` during a `/list` server response (issue #412)
6aa94c08
SH
1534 * irc: fix display of PART messages on channels with +a (anonymous flag) (issue #396)
1535 * irc: remove useless rename of channel buffer on JOIN received with different case (issue #336)
fae6bbb4 1536 * irc: fix completion of commands `/allchan` and `/allpv`
6aa94c08
SH
1537 * lua: fix wrong argument usage in functions nicklist_remove_group, nicklist_remove_nick and nicklist_remove_all (issue #346)
1538 * 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
1539 * relay: fix up/down keys on relay buffer (issue #335)
fae6bbb4 1540 * relay: remove v4-mapped addresses in `/help relay.network.allowed_ips` (issue #325)
6aa94c08
SH
1541 * 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
1542 * 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
1543 * python: fix name of function "bar_update" in case of error
1544 * python: fix restore of old interpreter when a function is not found in the script
fae6bbb4 1545 * ruby: fix crash on `/plugin reload` (issue #364)
6aa94c08
SH
1546 * 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
1547 * script: fix state of script plugins when list of scripts has not been downloaded
1548 * scripts: reset current script pointer when load of script fails in python/perl/ruby/lua/tcl plugins
1549 * scripts: fix return code of function bar_set in python/perl/ruby/lua/tcl/guile plugins
1550 * scripts: fix type of value returned by function hdata_time (from string to long integer) in perl/ruby/lua/tcl/guile plugins
1551 * 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
1552 * trigger: do not hook anything if the trigger is disabled (issue #405)
0d9398d0 1553
7b053b7c
SH
1554Documentation::
1555
1556 * add Russian man page
1557
951d1410 1558[[v1.1.1]]
772d2649
SH
1559== Version 1.1.1 (2015-01-25)
1560
7b053b7c 1561Bug fixes::
f23b6be1 1562
6aa94c08 1563 * core: fix crash when a root bar has conditions different from active/inactive/nicklist (issue #317)
fae6bbb4
SH
1564 * irc: don't close channel buffer on second `/part` when option irc.look.part_closes_buffer is off (issue #313)
1565 * irc: fix `/join` on a channel buffer opened with autojoin but which failed to join
6aa94c08
SH
1566 * irc: send QUIT to server and no PART for channels when the server buffer is closed (issue #294)
1567 * 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)
1568 * irc: fix crash in buffer close when server name is the same as a channel name (issue #305)
9749b65f 1569
7b053b7c
SH
1570Build::
1571
f065b43b 1572 * core: fix random error when creating symbolic link weechat-curses on make install with CMake (bug #40313)
7b053b7c 1573
951d1410 1574[[v1.1]]
eb81c475 1575== Version 1.1 (2015-01-11)
bc34c3cf 1576
6aa94c08 1577New features::
f23b6be1 1578
6aa94c08
SH
1579 * core: add option weechat.completion.command_inline (task #12491)
1580 * core: add bar item "mouse_status", new options weechat.look.item_mouse_status and weechat.color.status_mouse (issue #247)
1581 * core: add signals "mouse_enabled" and "mouse_disabled" (issue #244)
1582 * core: add hide of chars in string in evaluation of expressions
1583 * core: add arraylists, improve speed of completions (about 50x faster)
6aa94c08 1584 * core: allow incomplete commands if unambiguous, new option weechat.look.command_incomplete (task #5419)
7989e523
SH
1585 * core: check bar conditions in root bars and on each update of a bar item
1586 * core: fully evaluate commands bound to keys in cursor and mouse contexts
1587 * core: move bar item "scroll" between buffer name and lag in default bar items of status bar
e473161c
SH
1588 * api: add regex replace feature in function string_eval_expression
1589 * api: send value returned by command callback in function command, remove WeeChat error after command callback if return code is WEECHAT_RC_ERROR
1590 * api: use microseconds instead of milliseconds in functions util_timeval_diff and util_timeval_add
fae6bbb4 1591 * irc: add option `reorder` in command `/server` (issue #229)
6aa94c08
SH
1592 * 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)
1593 * irc: add server option "sasl_fail" (continue/reconnect/disconnect if SASL fails) (issue #265, task #12204)
1594 * irc: add support for color codes 16-99 in IRC messages (issue #228), add infolist "irc_color_weechat"
6aa94c08 1595 * irc: add support of "extended-join" capability (issue #143, issue #212)
6aa94c08 1596 * irc: display own nick changes in server buffer (issue #188)
fae6bbb4 1597 * irc: disable creation of temporary servers by default with command `/connect`, new option irc.look.temporary_servers
7989e523 1598 * irc: disable SSLv3 by default in server option "ssl_priorities" (issue #248)
fae6bbb4 1599 * irc: automatically add current channel in command `/samode` (issue #241)
7989e523 1600 * irc: add tag "nick_xxx" in invite messages
fae6bbb4 1601 * relay: add options `stop` and `restart` in command `/relay`
6aa94c08 1602 * relay: add option relay.network.ssl_priorities (issue #234)
7989e523 1603 * relay: add host in sender for IRC backlog PRIVMSG messages sent to clients
6aa94c08
SH
1604 * script: add option script.scripts.url_force_https (issue #253)
1605 * trigger: evaluate and replace regex groups at same time, new format for regex option in triggers (incompatible with version 1.0) (issue #224)
fae6bbb4 1606 * trigger: add option `restore` in command `/trigger`
7b053b7c
SH
1607 * trigger: add `${tg_displayed}` in conditions of default trigger "beep"
1608
1609Bug fixes::
f23b6be1 1610
6aa94c08 1611 * core: fix display bug when scrolling in buffer on a filtered line (issue #240)
fae6bbb4 1612 * core: send mouse code only one time to terminal with command `/mouse enable|disable|toggle`
6aa94c08
SH
1613 * core: fix buffer property "lines_hidden" when merging buffers or when a line is removed from a buffer (issue #226)
1614 * core: display time in bare display only if option weechat.look.buffer_time_format is not an empty string
fae6bbb4 1615 * core: fix translation of message displayed after `/upgrade`
e473161c 1616 * api: fix truncated process output in hook_process (issue #266)
6aa94c08
SH
1617 * api: fix crash when reading config options with NULL value (issue #238)
1618 * irc: defer the auto-connection to servers with a timer (issue #279, task #13038)
fae6bbb4 1619 * irc: add missing server options "sasl_timeout" and "notify" in output of `/server listfull`
6aa94c08
SH
1620 * irc: use option irc.look.nick_mode_empty to display nick prefix in bar item "input_prompt"
1621 * irc: remove IRC color codes from buffer title in channels (issue #237)
fae6bbb4 1622 * irc: fix completion of commands `/msg`, `/notice` and `/query`
6aa94c08 1623 * irc: fix translation of CTCP PING reply (issue #137)
6aa94c08
SH
1624 * relay: wait for message CAP END before sending join of channels and backlog to the client (issue #223)
1625 * relay: send messages "_buffer_localvar_*" and "_buffer_type_changed" with sync "buffers" (issue #191)
1626 * relay: don't remove relay from config when the binding fails (issue #225)
fae6bbb4 1627 * relay: use comma separator in option relay.irc.backlog_tags, check the value of option when it is changed with `/set`
6aa94c08
SH
1628 * relay: remove "::ffff:" from IPv4-mapped IPv6 client address (issue #111)
1629 * trigger: fix memory leak when allocating a new trigger with several regex
1630 * xfer: fix freeze when accepting DCC (issue #160, issue #174)
1631 * xfer: bind to wildcard address when sending (issue #173)
7b053b7c
SH
1632
1633Build::
1634
1635 * core: fix compilation of man pages with autotools in source directory
ef419981 1636 * core: fix compilation of plugins with CMake ≥ 3.1 (issue #287)
7b053b7c
SH
1637 * lua: add detection of Lua 5.2
1638 * python: fix Python detection with Homebrew (issue #217)
6aa94c08 1639 * tests: fix compilation of tests with clang (issue #275)
1b94010f 1640
951d1410 1641[[v1.0.1]]
1b94010f
SH
1642== Version 1.0.1 (2014-09-28)
1643
7b053b7c 1644Bug fixes::
f23b6be1 1645
6aa94c08
SH
1646 * core: fix crash on buffer close when option weechat.look.hotlist_remove is set to "merged" (issue #199)
1647 * core: fix highlight of IRC action messages when option irc.look.nick_mode is set to "action" or "both" (issue #206)
1648 * core: fix compilation of plugin API functions (macros) when compiler optimizations are enabled (issue #200)
fae6bbb4 1649 * core: fix window/buffer pointers used in command `/eval`
6aa94c08 1650 * core: fix modifier "weechat_print": discard only one line when several lines are displayed in same message (issue #171)
e473161c 1651 * api: fix bug in function hdata_move when absolute value of count is greater than 1
fae6bbb4 1652 * aspell: fix crash with command `/aspell addword` if no word is given (issue #164, issue #165)
6aa94c08
SH
1653 * irc: fix display of channel exception list (348) with 6 arguments (date missing)
1654 * irc: fix type of value stored in hashtable when joining a channel (issue #211)
6aa94c08 1655 * relay: fix send of signals "relay_client_xxx" (issue #214)
fae6bbb4 1656 * script: fix crash on `/script update` if a script detail is displayed in buffer (issue #177)
6aa94c08
SH
1657 * trigger: do not allow any changes on a trigger when it is currently running (issue #189)
1658 * trigger: fix regex used in default triggers to hide passwords ("\S" is not supported on *BSD) (issue #172)
7b053b7c
SH
1659
1660Tests::
1661
00c34b0b 1662 * core: fix memory leak in tests launcher
7b053b7c
SH
1663
1664Build::
1665
1666 * aspell: fix compilation with Enchant < 1.6.0 (issue #192)
1667 * guile: fix compilation with Guile < 2.0.4 (issue #198)
ef419981 1668 * perl: fix detection of Perl ≥ 5.20 with autotools
6aa94c08 1669 * tests: fix build of tests when the build directory is outside source tree (issue #178)
bc34c3cf 1670
951d1410 1671[[v1.0]]
addc27af 1672== Version 1.0 (2014-08-15)
a0bf3938 1673
6aa94c08 1674New features::
f23b6be1 1675
6aa94c08
SH
1676 * core: display a warning on startup if $TERM does not start with "screen" under Screen/Tmux
1677 * core: add option weechat.color.status_nicklist_count (issue #109, issue #110)
fae6bbb4 1678 * core: add option `env` in command `/set` (manage environment variables)
6aa94c08 1679 * core: add bar item "buffer_short_name" (task #10882)
fae6bbb4 1680 * core: add option `send` in command `/input` (send text to a buffer)
6aa94c08 1681 * core: add support of negated tags in filters (with "!") (issue #72, issue #74)
fae6bbb4 1682 * core: add hidden buffers, add options hide/unhide in command `/buffer`
6aa94c08
SH
1683 * core: add default key kbd:[Alt+-] (toggle filters in current buffer) (issue #17)
1684 * core: add non-active merged buffers with activity in hotlist (if another merged buffer is zoomed) (task #12845)
1685 * core: add text search in buffers with free content (task #13051)
1686 * core: add buffer property "clear"
1687 * core: add option weechat.look.hotlist_add_conditions, remove option weechat.look.hotlist_add_buffer_if_away
1688 * core: add option weechat.look.hotlist_remove (issue #99)
fae6bbb4
SH
1689 * core: add options `-beep` and `-current` in command `/print`
1690 * core: add bare display mode for easy text selection and click on URLs, new key: kbd:[Alt+l] (`L`), new option "bare" in command `/window`, new options: weechat.look.bare_display_exit_on_input and weechat.look.bare_display_time_format
6aa94c08 1691 * core: add signals "key_combo_{default|search|cursor}"
7989e523
SH
1692 * core: add terabyte unit for size displayed
1693 * core: display a warning in case of inconsistency between the options weechat.look.save_{config|layout}_on_exit
fae6bbb4 1694 * core: add option `-mask` in command `/unset` (issue #112)
7989e523 1695 * core: set option weechat.look.buffer_search_where to prefix_message by default
fae6bbb4 1696 * core: mute all buffers by default in command `/mute` (replace option -all by -core)
e473161c
SH
1697 * api: allow value "-1" for property "hotlist" in function buffer_set (to remove a buffer from hotlist)
1698 * api: add option "buffer_flush" in function hook_process_hashtable
1699 * api: add support of case insensitive search and search by buffer full name in function buffer_search (bug #34318)
1700 * api: add option "detached" in function hook_process_hashtable
1701 * api: add option "signal" in function hook_set to send a signal to the child process
fae6bbb4
SH
1702 * api: add support of nested variables in function string_eval_expression and command `/eval` (issue #35)
1703 * api: add support of escaped strings with format `${esc:xxx}` or `${\xxx}` in function string_eval_expression and command `/eval`
e473161c
SH
1704 * api: add functions hashtable_dup, string_replace_regex, string_split_shell, string_convert_escaped_chars
1705 * api: add integer return code for functions hook_{signal|hsignal}_send
1706 * api: add argument "flags" in function hdata_new_list
1707 * api: allow wildcard "*" inside the mask in function string_match
1708 * api: allow negative value for y in function printf_y
fae6bbb4
SH
1709 * alias: add default alias `msgbuf` (send text to a buffer)
1710 * exec: add exec plugin: new command `/exec` and file exec.conf
6aa94c08
SH
1711 * irc: add bar item "irc_nick_modes" (issue #71)
1712 * irc: add support of message 324 (channel modes) in option irc.look.display_join_message (issue #75)
1713 * irc: add option irc.look.join_auto_add_chantype (issue #65)
1714 * irc: add tag with host ("host_xxx") in IRC messages displayed (task #12018)
6aa94c08 1715 * irc: add option irc.color.item_nick_modes (issue #47)
6aa94c08 1716 * irc: add support of "away-notify" capability (issue #12)
fae6bbb4
SH
1717 * irc: add command `/remove` (issue #91)
1718 * irc: add command `/unquiet` (issue #36)
1719 * irc: add command `/allpv` (task #13111)
7b053b7c
SH
1720 * irc: display locally away status changes in private buffers (in addition to channels) (issue #117)
1721 * irc: allow many fingerprints in server option ssl_fingerprint (issue #49)
1722 * 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)
1723 * irc: add value "+" for option irc.look.smart_filter_mode to use modes from server prefixes (this is now the default value) (issue #90)
1724 * irc: allow "$ident" in option irc.network.ban_mask_default (issue #18)
1725 * irc: evaluate content of server options "username" and "realname"
1726 * irc: set option irc.network.autoreconnect_delay_max to 600 by default, increase max value to 604800 seconds (7 days)
1727 * irc: set option irc.network.whois_double_nick to "off" by default
7989e523
SH
1728 * relay: add messages "_buffer_cleared", "_buffer_hidden" and "_buffer_unhidden"
1729 * relay: add info "relay_client_count" with optional status name as argument
1730 * relay: add signals "relay_client_xxx" for client status changes (issue #2)
1731 * relay: add option relay.network.clients_purge_delay
1732 * rmodifier: remove plugin (replaced by trigger)
7b053b7c 1733 * script: set option script.scripts.cache_expire to 1440 by default
fae6bbb4 1734 * trigger: add trigger plugin: new command `/trigger` and file trigger.conf
7b053b7c
SH
1735
1736Bug fixes::
f23b6be1 1737
6aa94c08 1738 * core: fix zero-length malloc of an hashtable item with type "buffer"
fae6bbb4 1739 * core: fix memory leak on `/upgrade` when file signature in upgrade file is invalid
6aa94c08
SH
1740 * core: fix memory leak in completion of config options values
1741 * core: fix memory leak when removing script files
1742 * core: fix result of hash function (in hashtables) on 32-bit systems
1743 * core: fix insert of mouse code in input line after a partial key combo (issue #130)
1744 * core: check code point value in UTF-8 check function (issue #108)
6aa94c08
SH
1745 * core: fix socks5 proxy for curl downloads (issue #119)
1746 * core: display curl error after a failed download
fae6bbb4 1747 * core: do not display content of passphrase on `/secure` buffer
6aa94c08
SH
1748 * core: fix potential memory leak with infolists not freed in plugins (debian #751108)
1749 * core: fix color display of last terminal color number + 1 (issue #101)
fae6bbb4
SH
1750 * core: add option "-buffer" in command `/command` (issue #67)
1751 * core: fix restoration of core buffer properties after `/upgrade`
1752 * core: fix `/buffer clear` with a name (don't clear all merged buffers with same number)
6aa94c08 1753 * core: fix evaluation of expression with regex: when a comparison char is in the regex and don't evaluate the regex itself (issue #63)
fae6bbb4 1754 * core: close .upgrade files before deleting them after `/upgrade`
6aa94c08
SH
1755 * core: fix refresh of bar item "buffer_zoom" on buffer switch
1756 * core: fix reset of attributes in bars when "resetcolor" is used (issue #41)
1757 * 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)
1758 * core: quit WeeChat on signal SIGHUP, remove signal "signal_sighup"
d26380a9 1759 * core: fix add of filter on macOS when regex for message is empty (filter regex ending with "\t")
e473161c 1760 * core: check validity of buffer pointer when data is sent to a buffer (command/text from user and API function command)
6aa94c08
SH
1761 * core: fix crash when buffer is closed during execution of multiple commands (issue #27)
1762 * core: fix compilation on SmartOS (bug #40981, issue #23)
e473161c 1763 * core: add missing \0 at the end of stderr buffer in function hook_process
6aa94c08 1764 * core: fix highlight problem with "(?-i)" and upper case letters in option weechat.look.highlight (issue #24)
e473161c 1765 * core: fix detection of terminated process in function hook_process
fae6bbb4 1766 * core: fix `/window scroll -N` on a buffer with free content
e473161c 1767 * core: fix recursive calls to function eval_expression
fae6bbb4 1768 * core: save and restore mute state in command `/mute` (bug #41748)
6aa94c08
SH
1769 * core: fix memory leak when removing a hdata
1770 * core: fix memory leak in evaluation of sub-conditions
e473161c
SH
1771 * core: fix memory leak in function gui_key_add_to_infolist (in case of insufficient memory)
1772 * core: fix use of invalid pointer in function gui_bar_window_content_alloc (in case of insufficient memory)
1773 * core: fix uninitialized value in function string_decode_base64
6aa94c08 1774 * core: fix memory leak and use of invalid pointer in split of string (in case of insufficient memory)
e473161c 1775 * core: fix potential NULL pointer in function gui_color_emphasize
6aa94c08 1776 * core: use same return code and message in all commands when arguments are wrong/missing
fae6bbb4 1777 * core: allow empty arguments for command `/print`
6aa94c08 1778 * core: fix freeze/crash in GnuTLS (bug #41576)
e473161c
SH
1779 * api: fix function string_decode_base64
1780 * api: fix function string_format_size on 32-bit systems
1781 * api: change type of arguments displayed/highlight in hook_print callback from string to integer (in scripts)
fae6bbb4 1782 * alias: change default command for alias `/beep` to `/print -beep`
6aa94c08
SH
1783 * guile: fix module used after unload of a script
1784 * irc: fix memory leak in CTCP answer
1785 * irc: fix duplicate sender name in display of wallops (issue #142, issue #145)
1786 * irc: fix extract of channel in parser for JOIN/PART messages when there is a colon before the channel name (issue #83)
1787 * irc: fix duplicate sender name in display of notice (issue #87)
1788 * irc: fix refresh of buffer name in bar items after join/part/kick/kill (issue #86)
1789 * irc: display message 936 (censored word) on channel instead of server buffer
fae6bbb4
SH
1790 * irc: make reason optional in command `/kill`
1791 * irc: add alias `whois` for target buffer of messages 401/402 (issue #54)
6aa94c08
SH
1792 * irc: fix truncated read on socket with SSL (bug #41558)
1793 * irc: display output of CAP LIST in server buffer
1794 * irc: fix colors in message with CTCP reply sent to another user
fae6bbb4 1795 * irc: fix read of MODES server value when in commands `/op`, `/deop`, `/voice`, `/devoice`, `/halfop`, `/dehalfop`
6aa94c08
SH
1796 * irc: fix parsing of nick in host when "!" is not found (bug #41640)
1797 * lua: fix interpreter used after unload of a script
1798 * perl: fix context used after unload of a script
1799 * python: fix read of return value for callbacks returning an integer in Python 2.x (issue #125)
1800 * python: fix interpreter used after unload of a script
1801 * relay: fix memory leak during handshake on websocket
1802 * relay: fix memory leak when receiving commands from client (weechat protocol)
1803 * relay: fix crash when an IRC "MODE" command is received from client without arguments
1804 * relay: fix number of bytes sent/received on 32-bit systems
1805 * relay: fix crash when closing relay buffers (issue #57, issue #78)
1806 * relay: check pointers received in hdata command to prevent crashes with bad pointers (WeeChat protocol)
fae6bbb4 1807 * relay: remove warning on `/reload` of relay.conf when ports are defined
6aa94c08
SH
1808 * relay: fix client disconnection on empty websocket frames received (PONG)
1809 * relay: add support of Internet Explorer websocket (issue #73)
fae6bbb4
SH
1810 * relay: fix crash on `/upgrade` received from a client (weechat protocol)
1811 * relay: fix freeze after `/upgrade` when many disconnected clients still exist
6aa94c08 1812 * relay: fix NULL pointer when reading buffer lines for irc backlog
fae6bbb4 1813 * ruby: fix crash when trying to load a directory with `/ruby load`
6aa94c08 1814 * script: fix display of curl errors
6aa94c08
SH
1815 * script: fix scroll on script buffer in the detailed view of script (issue #6)
1816 * scripts: fix crash when a signal is received with type "int" and NULL pointer in signal_data
1817 * xfer: fix problem with option xfer.file.auto_accept_nicks when the server name contains dots
1818 * xfer: fix freeze/problems when sending empty files with DCC (issue #53)
d26380a9 1819 * xfer: fix connection to remote host in DCC receive on macOS (issue #25)
6aa94c08 1820 * xfer: remove bind on xfer.network.own_ip (issue #5)
a0bf3938 1821
7b053b7c
SH
1822Build::
1823
f065b43b 1824 * core: fix CMake warning CMP0007 on "make uninstall" (bug #41528)
d26380a9 1825 * core: use glibtoolize on macOS (autotools) (issue #22)
7b053b7c
SH
1826 * ruby: add detection of Ruby 2.1
1827
1828Tests::
1829
00c34b0b 1830 * core: add unit tests using CppUTest (issue #104)
7b053b7c 1831
951d1410 1832[[v0.4.3]]
f25dd0c8 1833== Version 0.4.3 (2014-02-09)
07115ef3 1834
6aa94c08 1835New features::
f23b6be1 1836
6aa94c08 1837 * core: add signals "signal_sighup" and "signal_sigwinch" (terminal resized)
fae6bbb4 1838 * core: add command `/print`, add support of more escaped chars in command `/input insert`
6aa94c08
SH
1839 * core: add option weechat.look.tab_width
1840 * core: add completion "plugins_installed"
6aa94c08 1841 * core: add option weechat.look.window_auto_zoom, disable automatic zoom by default when terminal becomes too small for windows
fae6bbb4
SH
1842 * core: use "+" separator to make a logical "and" between tags in command `/filter`, option weechat.look.highlight_tags and buffer property "highlight_tags"
1843 * 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)
6aa94c08
SH
1844 * core: add signal "buffer_cleared"
1845 * core: add buffer property "day_change" to hide messages for the day change in specific buffers
fae6bbb4 1846 * core: add option "libs" in command `/debug`
6aa94c08
SH
1847 * core: add infos "term_width" and "term_height"
1848 * core: add bar item "buffer_zoom", add signals "buffer_{zoomed|unzoomed}" (patch #8204)
1849 * 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
ef419981 1850 * core: add support of italic text (requires ncurses ≥ 5.9 patch 20130831)
6aa94c08 1851 * core: add options to customize default text search in buffers: weechat.look.buffer_search_{case_sensitive|force_default|regex|where}
7989e523 1852 * core: add support of UTF-8 chars in horizontal/vertical separators (options weechat.look.separator_{horizontal|vertical})
e473161c 1853 * core: add support of logical and/or for argument "tags" in function hook_print
7989e523 1854 * 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
fae6bbb4 1855 * core: rename options save/reset to store/del in command `/layout`
7989e523
SH
1856 * core: replace default key kbd:[Ctrl+c], kbd:[r] by kbd:[Ctrl+c], kbd:[v] for reverse video in messages
1857 * core: replace default key kbd:[Ctrl+c], kbd:[u] by kbd:[Ctrl+c], kbd:[_] for underlined text in messages
1858 * core: rename option weechat.look.set_title to weechat.look.window_title, value is now a string (evaluated)
1859 * core: set option weechat.look.paste_bracketed to "on" by default
1860 * core: use one date format when day changes from day to day+1
e473161c
SH
1861 * api: add function infolist_search_var
1862 * 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)
6aa94c08 1863 * api: add hdata "buffer_visited"
fae6bbb4 1864 * api: add support of infos with format `${info:name,arguments}` in function string_eval_expression and command `/eval`
6aa94c08 1865 * api: add support for C++ plugins
9bd6cbf4 1866 * alias: add default alias `/beep` -> `/print -stderr \a`
6aa94c08
SH
1867 * irc: add server option "ssl_fingerprint" (task #12724)
1868 * irc: add option irc.look.smart_filter_mode (task #12499)
1869 * irc: add option irc.network.ban_mask_default (bug #26571)
1870 * irc: add option irc.network.lag_max
1871 * irc: add option irc.look.notice_welcome_tags
1872 * irc: add server option "default_msg_kick" to customize default kick/kickban message (task #12777)
fae6bbb4 1873 * irc: use MONITOR instead of ISON for `/notify` when it is available on server (task #11477)
6aa94c08
SH
1874 * relay: send backlog for irc private buffers
1875 * xfer: add support of IPv6 for DCC chat/file (patch #7992)
1876 * xfer: add option xfer.file.auto_check_crc32 (patch #7963)
1877
7b053b7c 1878Bug fixes::
f23b6be1 1879
6aa94c08 1880 * core: fix hotlist problems after apply of a layout (bug #41481)
6aa94c08
SH
1881 * core: fix crash when creating two bars with same name but different case (bug #41418)
1882 * core: fix display of read marker when all buffer lines are unread and that option weechat.look.read_marker_always_show is on
1883 * core: fix memory leak in regex matching when evaluating expression
fae6bbb4 1884 * core: fix crash in `/eval` when config option has a NULL value
e473161c 1885 * core: fix crash with hdata_update on shared strings, add hdata type "shared_string" (bug #41104)
6aa94c08 1886 * core: fix text emphasis with wide chars on screen like Japanese (patch #8253)
fae6bbb4 1887 * core: remove option on `/unset` of plugin description option (plugins.desc.xxx) (bug #40768)
6aa94c08 1888 * core: fix random crash when closing a buffer
fae6bbb4 1889 * core: fix crash on `/buffer close core.weechat`
6aa94c08 1890 * core: apply color attributes when clearing a window (patch #8236)
6aa94c08
SH
1891 * core: fix truncated text when pasting several long lines (bug #40210)
1892 * core: create .conf file with default options only if the file does not exist (and not on read error with existing file)
1893 * core: fix highlight on action messages: skip the nick at beginning to prevent highlight on it (bug #40516)
1894 * core: fix bind of keys in cursor/mouse context when key starts with "@" (remove the warning about unsafe key)
1895 * core: fix truncated prefix when filters are toggled (bug #40204)
e473161c 1896 * api: fix read of arrays in hdata functions hdata_<type> (bug #40354)
6aa94c08
SH
1897 * aspell: fix detection of nicks with non-alphanumeric chars
1898 * guile: disable guile gmp allocator (fix crash on unload of relay plugin) (bug #40628)
1899 * irc: clear the GnuTLS session in all cases after SSL connection error
1900 * irc: do not display names by default when joining a channel (task #13045)
fae6bbb4 1901 * irc: display PONG answer when resulting from manual `/ping` command
6aa94c08
SH
1902 * irc: fix time parsed in tag of messages on Cygwin
1903 * irc: use statusmsg from message 005 to check prefix char in status notices/messages
1904 * irc: remove display of channel in channel notices, display "PvNotice" for channel welcome notices
1905 * irc: fix ignore on a host without nick
1906 * irc: use color code 0x1F (`ctrl-_`) for underlined text in input line (same code as messages) (bug #40756)
1907 * irc: use color code 0x16 (`ctrl-v`) for reverse video in messages
fae6bbb4 1908 * irc: use option irc.network.colors_send instead of irc.network.colors_receive when displaying messages sent by commands `/away`, `/me`, `/msg`, `/notice`, `/query`
6aa94c08
SH
1909 * irc: fix memory leak when checking the value of ssl_priorities option in servers
1910 * irc: fix memory leak when a channel is deleted
1911 * irc: fix groups in channel nicklist when reconnecting to a server that supports more nick prefixes than the previously connected server
fae6bbb4 1912 * irc: fix auto-switch to channel buffer when doing `/join channel` (without "#")
6aa94c08
SH
1913 * logger: fix memory leaks in backlog
1914 * logger: replace backslashs in name by logger replacement char under Cygwin (bug #41207)
6aa94c08 1915 * lua: fix crash on calls to callbacks during load of script
ef419981 1916 * python: fix load of scripts with Python ≥ 3.3
6aa94c08 1917 * relay: fix memory leak on unload of relay plugin
ef419981 1918 * ruby: fix ruby init with Ruby ≥ 2.0 (bug #41115)
6aa94c08
SH
1919 * scripts: fix script interpreter used after register during load of script in python/perl/ruby/lua/guile plugins (bug #41345)
1920 * xfer: use same infolist for hook and signals (patch #7974)
07115ef3 1921
7b053b7c
SH
1922Documentation::
1923
1924 * add French developer's guide and relay protocol
1925 * add Japanese plugin API reference and developer's guide
1926 * add Polish man page and user's guide
1927
1928Build::
1929
1930 * core: fix installation of weechat-plugin.h with autotools (patch #8305)
1931 * core: fix compilation on Android (bug #41420, patch #8301, bug #41434)
1932 * lua: fix detection of Lua 5.2 in autotools (patch #8270)
1933 * ruby: add detection and fix compilation with Ruby 2.0 (patch #8209)
1934
951d1410 1935[[v0.4.2]]
5812564b 1936== Version 0.4.2 (2013-10-06)
2e43bac4 1937
6aa94c08 1938New features::
f23b6be1 1939
6aa94c08
SH
1940 * 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)
1941 * core: add syntax "@buffer:item" in bar items to force the buffer used when displaying the bar item (task #12717)
1942 * 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)
1943 * core: add text emphasis in messages when searching text in buffer, new options: weechat.look.emphasized_attributes, weechat.color.emphasized, weechat.color.emphasized_bg
fae6bbb4 1944 * core: add secured data (encryption of passwords or private data): add new command `/secure` and new file sec.conf (task #7395)
6aa94c08 1945 * core: rename binary and man page from "weechat-curses" to "weechat" (task #11027)
fae6bbb4
SH
1946 * core: add option `-o` in command `/color`
1947 * core: add option `scroll_beyond_end` for command `/window` (task #6745)
6aa94c08
SH
1948 * core: add options weechat.look.hotlist_prefix and weechat.look.hotlist_suffix (task #12730)
1949 * core: add option weechat.look.key_bind_safe
6aa94c08
SH
1950 * core: add option weechat.network.proxy_curl (task #12651)
1951 * core: add "proxy" infolist and hdata
1952 * core: add infolist "layout" and hdata "layout", "layout_buffer" and "layout_window"
7989e523
SH
1953 * core: reduce memory used by using shared strings for nicklist and lines in buffers
1954 * 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}`
1955 * core: optimize the removal of lines in buffers (a lot faster to clear/close buffers with lot of lines)
1956 * core: set options weechat.look.color_inactive_{buffer|window} to "on" by default
e473161c 1957 * api: return hashtable item pointer in functions hashtable_set and hashtable_set_with_size
6aa94c08 1958 * api: add "callback_free_key" in hashtable
fae6bbb4
SH
1959 * api: add support of colors with format `${color:xxx}` in function string_eval_expression and command `/eval`
1960 * api: add argument "options" in function string_eval_expression, add option `-c` in command `/eval` (to evaluate a condition)
e473161c 1961 * api: add new function strlen_screen
6aa94c08
SH
1962 * aspell: rename option aspell.look.color to aspell.color.misspelled, add option aspell.color.suggestions
1963 * aspell: add support of enchant library (patch #6858)
1964 * irc: add option irc.look.notice_welcome_redirect to automatically redirect channel welcome notices to the channel buffer
1965 * 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)
1966 * irc: add option irc.look.pv_tags
fae6bbb4 1967 * irc: add support of special variables $nick/$channel/$server in commands `/allchan` and `/allserv`
6aa94c08 1968 * irc: add option irc.look.nick_color_hash: hash algorithm to find nick color (patch #8062)
fae6bbb4 1969 * logger: add option `flush` in command `/logger`
6aa94c08
SH
1970 * plugins: remove the demo plugin
1971 * relay: add command "ping" in weechat protocol (task #12689)
fae6bbb4
SH
1972 * rmodifier: add option "missing" in command `/rmodifier`
1973 * script: add info about things defined by script (like commands, options, ...) in the detailed view of script (`/script show`)
6aa94c08
SH
1974 * scripts: add hdata with script callback
1975 * xfer: add option xfer.look.pv_tags
1976
7b053b7c 1977Bug fixes::
f23b6be1 1978
6aa94c08
SH
1979 * core: clear whole line before displaying content instead of clearing after the end of content (bug #40115)
1980 * core: fix time displayed in status bar (it was one second late) (bug #40097)
1981 * core: fix memory leak on unhook of a print hook (if using tags)
fae6bbb4
SH
1982 * core: fix computation of columns in output of `/help` (take care about size of time/buffer/prefix)
1983 * core: fix random crash on `/buffer close` with a buffer number (or a range of buffers)
6aa94c08
SH
1984 * core: fix priority of logical operators in evaluation of expression (AND takes precedence over the OR) and first evaluate sub-expressions between parentheses
1985 * core: remove gap after read marker line when there is no bar on the right (bug #39548)
e473161c 1986 * core: use "/dev/null" for stdin in hook_process instead of closing stdin (bug #39538)
6aa94c08
SH
1987 * core: fix char displayed at the intersection of three windows (bug #39331)
1988 * core: fix crash in evaluation of expression when reading a string in hdata with a NULL value (bug #39419)
1989 * core: fix display bugs with some UTF-8 chars that truncates messages displayed (for example U+26C4) (bug #39201)
1990 * core: remove extra space after empty prefix (when prefix for action, error, join, network or quit is set to empty string) (bug #39218)
1991 * core: fix random crash on mouse actions (bug #39094)
6aa94c08
SH
1992 * core: fix line alignment when option weechat.look.buffer_time_format is set to empty string
1993 * api: change type of hashtable key hash to unsigned long
1994 * api: use pointer for infolist "hook" to return only one hook
1995 * aspell: fix detection of word start/end when there are apostrophes or minus chars before/after word
1996 * irc: fix reconnection to server using IPv6 (bug #38819, bug #40166)
1997 * irc: replace default prefix modes "qaohvu" by the standard ones "ov" when PREFIX is not sent by server (bug #39802)
1998 * irc: use 6697 as default port for SSL servers created with URL "ircs://" (bug #39621)
1999 * irc: display number of ops/halfops/voices on channel join only for supported modes on server (bug #39582)
fae6bbb4
SH
2000 * irc: fix self nick color in server messages after nick is changed with `/nick` (bug #39415)
2001 * irc: fix error message on `/invite` without arguments (bug #39272)
2002 * irc: fix multiple nicks in command `/query` (separated by commas): open one buffer per nick
6aa94c08
SH
2003 * lua: fix interpreter used in API functions (bug #39470)
2004 * relay: fix decoding of websocket frames when there are multiple frames in a single message received (only the first one was decoded)
2005 * relay: fix binding to an IP address (bug #39119)
7b053b7c
SH
2006
2007Documentation::
2008
2009 * update man page and add translations (in French, German, Italian, and Japanese)
2010
2011Build::
2012
f065b43b
SH
2013 * 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)
2014 * core: disable build of doc by default, add CMake option ENABLE_MAN to compile man page (off by default)
6aa94c08 2015 * xfer: fix compilation on OpenBSD (bug #39071)
2e43bac4 2016
951d1410 2017[[v0.4.1]]
5812564b 2018== Version 0.4.1 (2013-05-20)
ff15c0a4 2019
6aa94c08 2020New features::
f23b6be1 2021
6aa94c08
SH
2022 * 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)
2023 * core: add support of multiple layouts (task #11274)
2024 * core: add signals nicklist_{group|nick}_removing and hsignals nicklist_{group|nick}_{added|removing|changed}
2025 * core: add count for groups, nicks, and total in nicklist
fae6bbb4 2026 * core: add option `dirs` in command `/debug`
6aa94c08 2027 * core: add signal "window_opened" (task #12464)
7989e523 2028 * core: allow read of array in hdata without using index
e473161c
SH
2029 * api: add new function hdata_search
2030 * api: add property "completion_freeze" for function buffer_set: do not stop completion when command line is updated
6aa94c08
SH
2031 * aspell: add completion "aspell_dicts" (list of aspell installed dictionaries)
2032 * aspell: add info "aspell_dict" (dictionaries used on a buffer)
7989e523 2033 * aspell: optimization on spellers to improve speed (save state by buffer)
e8cdda31 2034 * irc: add support of DH-AES SASL mechanism (patch #8020)
6aa94c08
SH
2035 * irc: add support of UHNAMES (capability "userhost-in-names") (task #9353)
2036 * irc: add tag "irc_nick_back" for messages displayed in private buffer when a nick is back on server (task #12576)
2037 * irc: add option irc.look.display_join_message (task #10895)
2038 * irc: add option irc.look.pv_buffer: automatically merge private buffers (optionally by server) (task #11924)
fae6bbb4 2039 * 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)
6aa94c08 2040 * 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)
7989e523 2041 * irc: rename option irc.network.lag_disconnect to irc.network.lag_reconnect, value is now a number of seconds
6aa94c08
SH
2042 * relay: add message "_nicklist_diff" (differences between old and current nicklist)
2043 * relay: add support of multiple servers on same port for irc protocol (the client must send the server in the "PASS" command)
2044 * relay: add WebSocket server support (RFC 6455) for irc and weechat protocols, new option relay.network.websocket_allowed_origins
2045 * relay: add options "buffers" and "upgrade" in commands sync/desync (weechat protocol)
2046 * rmodifier: rename default rmodifier "nickserv" to "command_auth" (with new modifier "irc_command_auth"), add default rmodifier "message_auth" (modifier "irc_message_auth")
fae6bbb4 2047 * 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)
6aa94c08
SH
2048 * xfer: add option xfer.file.auto_accept_nicks (patch #7962)
2049
7b053b7c 2050Bug fixes::
f23b6be1 2051
6aa94c08
SH
2052 * core: fix display of long lines without time (message beginning with two tabs)
2053 * core: reset scroll in window before zooming on a merged buffer (bug #38207)
6aa94c08 2054 * 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)
6aa94c08 2055 * core: fix structures before buffer data when a buffer is closed
e473161c 2056 * core: fix refresh of line after changes with hdata_update (update flag "displayed" according to filters)
6aa94c08
SH
2057 * core: fix hidden lines for messages without date when option weechat.history.max_buffer_lines_minutes is set (bug #38197)
2058 * core: use default hash/comparison callback for keys of type integer/pointer/time in hashtable
2059 * api: do not display a warning by default when loading a script with a license different from GPL
e473161c
SH
2060 * api: fix connection to servers with hook_connect on macOS (bug #38496)
2061 * api: fix bug in function string_match when mask begins and ends with "*"
2062 * api: allow hashtable with keys that are not strings in function hashtable_add_to_infolist
2063 * api: fix function string_mask_to_regex: escape all special chars used in regex (bug #38398)
2064 * guile: fix crash in function hdata_move
ef419981 2065 * guile: fix arguments given to callbacks (separate arguments instead of one list with arguments inside), Guile ≥ 2.0 is now required (bug #38350)
6aa94c08 2066 * guile: fix crash on calls to callbacks during load of script (bug #38343)
fae6bbb4 2067 * irc: fix name of server buffer after `/server rename` (set name "server.name" instead of "name")
6aa94c08 2068 * irc: fix uncontrolled format string when sending unknown irc commands (if option irc.network.send_unknown_commands is on)
fae6bbb4 2069 * irc: fix uncontrolled format string when sending ison command (for nicks monitored by `/notify`)
6aa94c08
SH
2070 * irc: fix refresh of nick in input bar when joining a new channel with op status (bug #38969)
2071 * irc: fix display of CTCP messages that contain bold attribute (bug #38895)
2072 * irc: fix duplicate nick completion when someone rejoins the channel with same nick but a different case (bug #38841)
fae6bbb4
SH
2073 * irc: fix crash on command `/allchan /close`
2074 * irc: fix default completion (like nicks) in commands `/msg`, `/notice`, `/query` and `/topic`
6aa94c08
SH
2075 * irc: fix prefix color for nick when the prefix is not in irc.color.nick_prefixes: use default color (key "*")
2076 * irc: fix display of malformed CTCP (without closing char) (bug #38347)
2077 * irc: fix memory leak in purge of hashtables with joins (it was done only for the first server in the list)
fae6bbb4 2078 * irc: add color in output of `/names` when result is on server buffer (channel not joined) (bug #38070)
6aa94c08 2079 * lua: remove use of functions for API constants
e473161c 2080 * lua: fix crash on stack overflow: call lua_pop for values returned by lua functions (bug #38510)
6aa94c08
SH
2081 * perl: simplify code to load scripts
2082 * python: fix crash when loading scripts with Python 3.x (patch #8044)
2083 * relay: fix uncontrolled format string in redirection of irc commands
2084 * relay: rename compression "gzip" to "zlib" (compression is zlib, not gzip)
2085 * relay: fix commands sync/desync in weechat protocol (bug #38215)
e473161c
SH
2086 * ruby: fix crash in function hdata_move
2087 * ruby: fix crash with Ruby 2.0: use one array for the last 6 arguments of function config_new_option (bug #31050)
6aa94c08
SH
2088 * script: create "script" directory on each action, just in case it has been removed (bug #38472)
2089 * scripts: create directories (language and language/autoload) on each action (install/remove/autoload), just in case they have been removed (bug #38473)
e473161c 2090 * scripts: do not allow empty script name in function register
6aa94c08 2091 * xfer: fix freeze of DCC file received: use non-blocking socket after connection to sender and ensure the ACK is properly sent (bug #38340)
ff15aa40 2092
7b053b7c
SH
2093Build::
2094
2095 * core: install icon file (patch #7972)
f065b43b 2096 * core: fix detection of iconv with CMake on macOS (bug #38321)
7b053b7c 2097 * guile: fix compilation with Guile 2.0
252aca82 2098 * python: fix detection of Python on Ubuntu Raring
7b053b7c
SH
2099 * script: fix compilation on GNU/Hurd (patch #7977)
2100
951d1410 2101[[v0.4.0]]
5812564b 2102== Version 0.4.0 (2013-01-20)
e0959486 2103
6aa94c08 2104New features::
f23b6be1 2105
6aa94c08 2106 * core: add buffer pointer in arguments for signals "input_search", "input_text_changed" and "input_text_cursor_moved"
fae6bbb4 2107 * core: add option `diff` in command `/set` (list options with changed value)
6aa94c08 2108 * core: add color support in options weechat.look.prefix_{action|error|join|network|quit} (task #9555)
fae6bbb4
SH
2109 * core: display default values for changed config options in output of `/set`
2110 * core: add command `/eval`, use expression in conditions for bars
2111 * core: add option `-quit` in command `/upgrade` (save session and quit without restarting WeeChat, for delayed restoration)
7b053b7c 2112 * core: add incomplete mouse events "event-down" and "event-drag" (task #11840)
e473161c
SH
2113 * api: allow return code WEECHAT_RC_OK_EAT in callbacks of hook_signal and hook_hsignal (stop sending the signal immediately)
2114 * api: allow creation of structure with hdata_update (allowed for hdata "history")
2115 * api: use hashtable "options" for command arguments in function hook_process_hashtable (optional, default is a split of string with command)
2116 * api: add new function string_eval_expression
2117 * 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)
6aa94c08
SH
2118 * aspell: add signal "aspell_suggest" (sent when new suggestions are displayed)
2119 * 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)
2120 * irc: add tags "irc_nick1_xxx" and "irc_nick2_yyy" in message displayed for command "NICK"
2121 * irc: return git version in CTCP VERSION and FINGER by default, add "$git" and "$versiongit" in format of CTCP replies
2122 * irc: read local variable "autorejoin" in buffer to override server option "autorejoin" (task #12256)
fae6bbb4 2123 * irc: add option `-auto` in command `/connect` (task #9340)
6aa94c08
SH
2124 * irc: add support of "server-time" capability (task #12255)
2125 * irc: add support of tags in messages
fae6bbb4 2126 * irc: add command `/quiet`, fix display of messages 728/729 (quiet list, end of quiet list) (task #12278)
6aa94c08 2127 * irc: add option irc.network.alternate_nick to disable dynamic nick generation when all nicks are already in use on server (task #12281)
fae6bbb4
SH
2128 * irc: add option irc.network.whois_double_nick to double nick in command `/whois`
2129 * irc: add option `-noswitch` in command `/join` (task #12275)
7989e523 2130 * perl: display script filename in error messages
6aa94c08
SH
2131 * 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)
2132 * 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)
2133 * xfer: display remote IP address for DCC chat/file (task #12289)
2134
7b053b7c 2135Bug fixes::
f23b6be1 2136
6aa94c08 2137 * core: fix infinite loop when a regex gives an empty match (bug #38112)
6aa94c08
SH
2138 * core: fix click in item "buffer_nicklist" when nicklist is a root bar (bug #38080)
2139 * core: fix line returned when clicking on a bar (according to position and filling) (bug #38069)
2140 * core: fix refresh of bars when applying layout (bug #37944, bug #37952)
2141 * core: fix scroll to bottom of window (default key: kbd:[Alt+End]) when line displayed is bigger than chat area
2142 * core: fix scroll in buffer after enabling/disabling some filters (if scroll is on a hidden line) (bug #37885)
2143 * core: fix memory leak in case of error when building content of bar item for display
e473161c 2144 * core: fix detection of command in input: a single command char is considered as a command (API function string_input_for_buffer)
6aa94c08
SH
2145 * core: search for a fallback template when a no template is matching command arguments
2146 * core: fix refresh of windows after split (fix bug with horizontal separator between windows) (bug #37874)
2147 * core: fix stuck mouse (bug #36533)
2148 * core: fix default mouse buttons actions for script buffer (focus the window before executing action)
2149 * core: fix scroll of one page down when weechat.look.scroll_page_percent is less than 100 (bug #37875)
2150 * core: disable paste detection and confirmation if bar item "input_paste" is not used in a visible bar (task #12327)
fae6bbb4 2151 * core: use high priority (50000) for commands `/command` and `/input` so that an alias will not take precedence over these commands (bug #36353)
6aa94c08
SH
2152 * core: execute command with higher priority when many commands with same name are found with different priorities
2153 * core: fix display of combining chars (bug #37775)
ef419981 2154 * core: fix display of zoomed/merged buffer (with number ≥ 2) after switching to it (bug #37593)
6aa94c08
SH
2155 * core: fix display problem when option weechat.look.prefix_same_nick is set (problem with nick displayed in first line of screen) (bug #37556)
2156 * core: fix wrapping of words with wide chars (the break was made before the correct position)
e473161c 2157 * api: do not call shell to execute command in hook_process (fix security problem when a plugin/script gives untrusted command) (bug #37764)
6aa94c08
SH
2158 * alias: give higher priority to aliases (2000) so that they take precedence over an existing command
2159 * aspell: ignore self and remote nicks in private buffers
2160 * aspell: fix creation of spellers when number of dictionaries is different between two buffers
e473161c 2161 * guile: fix bad conversion of shared strings (replace calls to scm_i_string_chars by scm_to_locale_string) (bug #38067)
fae6bbb4 2162 * irc: fix display of actions (`/me`) when they are received from a relay client (in channel and private buffers) (bug #38027)
6aa94c08 2163 * irc: fix memory leak when updating modes of channel
fae6bbb4 2164 * irc: fix crash on `/upgrade` (free channels before server data when a server is destroyed) (bug #37736)
6aa94c08 2165 * irc: fix crash when decoding IRC colors in strings (bug #37704)
fae6bbb4
SH
2166 * irc: fix refresh of bar item "away" after command `/away` or `/disconnect`
2167 * irc: send whois on self nick when `/whois` is done without argument on a channel (task #12273)
6aa94c08
SH
2168 * irc: remove local variable "away" in server/channels buffers after server disconnection (bug #37582)
2169 * irc: fix crash when message 352 has too few arguments (bug #37513)
2170 * irc: remove unneeded server disconnect when server buffer is closed and server is already disconnected
2171 * perl: fix calls to callbacks during load of script when multiplicity is disabled (bug #38044)
2172 * relay: fix duplicated messages sent to irc clients (when messages are redirected) (bug #37870)
2173 * relay: fix memory leak when adding hdata to a message (weechat protocol)
fae6bbb4
SH
2174 * relay: fix crash after `/upgrade` when a client is connected
2175 * relay: add missing "ssl." in output of `/relay listrelay`
6aa94c08 2176 * 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)
6aa94c08
SH
2177 * xfer: fix memory leak when refreshing xfer buffer
2178 * xfer: add missing tags in DCC chat messages: nick_xxx, prefix_nick_ccc, logN
2179 * xfer: limit bytes received to file size (for DCC file received), fix crash when displaying a xfer file with pos greater than size
485728a4 2180
7b053b7c
SH
2181Build::
2182
fae6bbb4 2183 * core: add git version in build, display it in `weechat-curses --help` and `/version`
f065b43b 2184 * core: stop CMake if gcrypt lib is not found (bug #37671)
252aca82 2185 * guile: fix detection of Guile in configure
d26380a9 2186 * script: fix compilation on macOS
7b053b7c 2187
951d1410 2188[[v0.3.9.2]]
5812564b 2189== Version 0.3.9.2 (2012-11-18)
57293ffc 2190
7b053b7c 2191Bug fixes::
f23b6be1 2192
e473161c 2193 * 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)
57293ffc 2194
951d1410 2195[[v0.3.9.1]]
5812564b 2196== Version 0.3.9.1 (2012-11-09)
7cd376b4 2197
7b053b7c 2198Bug fixes::
f23b6be1 2199
497dc3cd 2200 * irc: fix crash when decoding IRC colors in strings (bug #37704, CVE-2012-5854)
7cd376b4 2201
951d1410 2202[[v0.3.9]]
5812564b 2203== Version 0.3.9 (2012-09-29)
9076f359 2204
6aa94c08 2205New features::
f23b6be1 2206
6aa94c08
SH
2207 * core: add signals for plugins loaded/unloaded
2208 * core: add default key kbd:[Alt+x] (zoom on merged buffer) (task #11029)
2209 * core: add mouse bindings kbd:[Ctrl] + wheel up/down to scroll horizontally buffers with free content
2210 * core: add option weechat.startup.sys_rlimit to set system resource limits for WeeChat process
fae6bbb4 2211 * core: add option `swap` in command `/buffer` (task #11373)
6aa94c08
SH
2212 * core: add hdata "hotlist"
2213 * core: add support of arrays in hdata variables
fae6bbb4
SH
2214 * core: add command line option `-r` (or `--run-command`) to run command(s) after startup of WeeChat
2215 * core: add function hook_set in plugin API, add "subplugin" in hooks (set by script plugins), display subplugin in `/help` on commands (task #12049)
6aa94c08
SH
2216 * 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)
2217 * core: add default key kbd:[Alt+s] (toggle aspell)
6aa94c08
SH
2218 * core: add callback "nickcmp" in buffers
2219 * core: add horizontal separator between windows, new options weechat.look.window_separator_{horizontal|vertical}
2220 * 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)
e473161c
SH
2221 * api: allow update for some variables of hdata, add new functions hdata_update and hdata_set
2222 * api: add info "locale" for info_get (locale used to translate messages)
2223 * api: add new function util_version_number
fae6bbb4 2224 * 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)
6aa94c08 2225 * irc: generate alternate nicks dynamically when all nicks are already in use (task #12209)
6aa94c08
SH
2226 * irc: add bar item "buffer_modes", remove option irc.look.item_channel_modes (task #12022)
2227 * irc: add option irc.look.ctcp_time_format to customize reply to CTCP TIME (task #12150)
7989e523 2228 * 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
6aa94c08
SH
2229 * logger: add tags in backlog lines displayed when opening buffer
2230 * logger: add messages "Day changed to" in backlog (task #12187)
6aa94c08
SH
2231 * relay: add support of SSL (for irc and weechat protocols), new option relay.network.ssl_cert_key (task #12044)
2232 * relay: add option relay.color.client
2233 * relay: add object type "arr" (array) in WeeChat protocol
03456722 2234 * script: new plugin "script" (script manager, replacing scripts weeget.py and script.pl)
6aa94c08
SH
2235 * scripts: add signals for scripts loaded/unloaded/installed/removed
2236 * scripts: add hdata with list of scripts for each language
2237
7b053b7c 2238Bug fixes::
f23b6be1 2239
6aa94c08 2240 * 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)
e473161c 2241 * core: fix IP address returned by hook_connect (return IP really used, not first IP for hostname)
6aa94c08
SH
2242 * core: display spaces at the end of messages in chat area (bug #37024)
2243 * 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)
2244 * core: fix display of "bar more down" char when text is truncated by size_max in bars with vertical filling (bug #37054)
2245 * core: fix color of long lines (displayed on more than one line on screen) under FreeBSD (bug #36999)
e473161c 2246 * core: return error string to callback of hook_connect if getaddrinfo fails in child process
6aa94c08
SH
2247 * core: scroll to bottom of window after reaching first or last highlight with keys kbd:[Alt+p] / kbd:[Alt+n]
2248 * core: fix refresh of bar items when switching window
2249 * core: fix refresh of bar items "buffer_filter" and "scroll" in root bars (bug #36816)
2250 * core: allow again names beginning with "#" for bars, proxies and filters
2251 * core: escape special chars (`#[\`) in configuration files for name of options (bug #36584)
2252 * aspell: add missing dictionaries (ast/grc/hus/kn/ky)
2253 * charset: do not allow "UTF-8" in charset decoding options (useless because UTF-8 is the internal WeeChat charset)
2254 * fifo: ignore read failing with error EAGAIN (bug #37019)
2255 * guile: fix crash when unloading a script without pointer to interpreter
6aa94c08
SH
2256 * irc: fix rejoin of channels with a key, ignore value "*" sent by server for key (bug #24131)
2257 * irc: fix SASL mechanism "external" (bug #37274)
2258 * irc: fix parsing of message 346 when no nick/time are given (bug #37266)
2259 * irc: switch to next address after a timeout when connecting to server (bug #37216)
2260 * irc: fix bug when changing server option "addresses" with less addresses (bug #37215)
2261 * irc: add network prefix in irc (dis)connection messages
2262 * irc: fix split of received IRC message: keep spaces at the end of message
2263 * irc: fix bug with prefix chars which are in chanmodes with a type different from "B" (bug #36996)
2264 * irc: fix format of message "USER" (according to RFC 2812) (bug #36825)
2265 * irc: fix parsing of user modes (ignore everything after first space) (bug #36756, bug #31572)
2266 * irc: fix freeze when reading on socket with SSL enabled (use non-blocking sockets) (bug #35097)
2267 * irc: allow again names beginning with "#" for servers
2268 * lua: fix crash when unloading a script without pointer to interpreter
6aa94c08
SH
2269 * python: fix crash when unloading a script without pointer to interpreter
2270 * relay: fix freeze when writing on relay socket (use non-blocking sockets in relay for irc and weechat protocols) (bug #36655)
2271 * scripts: fix deletion of configuration files when script is unloaded (bug #36977)
e473161c
SH
2272 * scripts: fix function unhook_all: delete only callbacks of hooks and add missing call to unhook
2273 * scripts: ignore call to register (with a warning) if script is already registered
6aa94c08 2274 * xfer: fix DCC transfer error (bug #37432)
c681c660 2275
7b053b7c
SH
2276Documentation::
2277
2278 * add Japanese user's guide (patch #7827), scripting guide and tester's guide
2279
2280Build::
2281
f065b43b 2282 * core: move the set of CMake policy CMP0003 in directory src (so it applies to all plugins) (bug #37311)
7b053b7c 2283 * core: fix names of cache variables in configure.in (bug #36971)
f065b43b
SH
2284 * core: add CMake option "MANDIR" (bug #36776)
2285 * guile: fix path of Guile include dirs in CMake build (patch #7790)
7b053b7c
SH
2286 * lua: add support of Lua 5.2
2287 * python: fix detection of Python (first try "python2.x" and then "python") (bug #36835)
2288 * ruby: add detection of Ruby 1.9.3
2289
951d1410 2290[[v0.3.8]]
5812564b 2291== Version 0.3.8 (2012-06-03)
ca643c6f 2292
6aa94c08 2293New features::
f23b6be1 2294
6aa94c08
SH
2295 * core: add option weechat.look.prefix_same_nick (hide or change prefix on messages whose nick is the same as previous message) (task #11965)
2296 * core: convert tabs to spaces in text pasted (bug #25028)
e473161c 2297 * core: add a connection timeout for child process in hook_connect (bug #35966)
6aa94c08 2298 * core: add support of terminal "bracketed paste mode", new options weechat.look.paste_bracketed and weechat.look.paste_bracketed_timer_delay (task #11316)
7989e523
SH
2299 * core: support lines of 16 Kb long in configuration files (instead of 1 Kb)
2300 * core: convert options weechat.look.prefix_align_more and weechat.look.prefix_buffer_align_more from boolean to string (task #11197)
2301 * core: follow symbolic links when writing configuration files (.conf) (task #11779)
6aa94c08 2302 * api: add list "gui_buffer_last_displayed" in hdata "buffer"
fae6bbb4
SH
2303 * irc: add option `fakerecv` in command `/server` to simulate a received IRC message (not documented, for debug only)
2304 * irc: add option `-pending` in command `/disconnect` (cancel auto-reconnection on servers currently reconnecting) (task #11985)
6aa94c08
SH
2305 * irc: add signals and tags in messages for irc notify (task #11887)
2306 * irc: add support of "external" SASL mechanism (task #11864)
fae6bbb4 2307 * irc: allow more than one nick in command `/invite`
6aa94c08
SH
2308 * logger: add colors for backlog lines and end of backlog, new options: logger.color.backlog_line and logger.color.backlog_end (task #11966)
2309 * relay: add signals "upgrade" and "upgrade_ended" in WeeChat protocol
2310 * relay: add "date_printed" and "highlight" in signal "_buffer_line_added" (WeeChat protocol)
fae6bbb4
SH
2311 * rmodifier: add default rmodifier "quote_pass" to hide password in command `/quote pass` (bug #36250)
2312 * rmodifier: add default rmodifier "server" to hide passwords in commands `/server` and `/connect` (task #11993)
2313 * rmodifier: add option "release" in default rmodifier "nickserv" (used to hide passwords in command `/msg nickserv`) (bug #35705)
6aa94c08 2314
7b053b7c 2315Bug fixes::
f23b6be1 2316
6aa94c08
SH
2317 * core: fix crash in focus hook for nicklist (bug #36271)
2318 * core: fix truncated configuration files (zero-length) after system crash (bug #36383)
2319 * core: fix display bugs and crashes with small windows (bug #36107)
2320 * core: fix display bug with prefix when length is greater than max and prefix is ending with a wide char (bug #36032)
2321 * core: fix lost scroll when switching to a buffer with a pending search
2322 * core: fix display of wide chars on last column of chat area (patch #7733)
ef419981 2323 * api: display warning in scripts when invalid pointers (malformed strings) are given to plugin API functions (warning displayed if debug for plugin is ≥ 1)
e473161c 2324 * scripts: fix type of argument "rc" in callback of hook_process (from string to integer)
6aa94c08 2325 * guile: fix crash on ARM when loading guile plugin (bug #36479)
e473161c 2326 * guile: add missing function hook_process_hashtable in API
6aa94c08
SH
2327 * irc: update channel modes by using chanmodes from message 005 (do not send extra command "MODE" to server), fix parsing of modes (bug #36215)
2328 * irc: hide everything after "identify" or "register" in messages to nickserv when option irc.look.hide_nickserv_pwd is on (bug #36362)
2329 * irc: set user modes only if target nick is self nick in message 221 (patch #7754)
2330 * irc: force the clear of nicklist when joining a channel (nicklist was not sync after znc reconnection) (bug #36008)
fae6bbb4 2331 * irc: do not send command "MODE #channel" on manual `/names` (do it only when names are received on join of channel) (bug #35930)
6aa94c08 2332 * irc: do not allow the creation of two servers with same name but different case (fix error when writing file irc.conf) (bug #35840)
fae6bbb4 2333 * irc: update away flag for nicks on manual `/who`
6aa94c08
SH
2334 * irc: display privmsg messages to "@#channel" and "+#channel" in channel buffer (bug #35331)
2335 * irc: fix redirection of message when message is queued for sending on server
2336 * irc: check notify immediately when adding a nick to notify list, improve first notify message for a nick (bug #35731)
2337 * irc: fix display of color in hostname (join/part/quit messages)
2338 * irc: compute hash to find nick color for nick in server message when nick is not in nicklist
2339 * irc: close server buffer when server is deleted
2340 * irc: add search for lower case nicks in option irc.look.nick_color_force
2341 * logger: fix charset of lines displayed in backlog when terminal charset is different from UTF-8 (bug #36379)
d26380a9 2342 * perl: fix crash on quit on macOS
6aa94c08 2343 * relay: keep spaces in beginning of "input" received from client (WeeChat protocol)
fae6bbb4 2344 * relay: fix crash on `/upgrade` when client is connected using WeeChat protocol
6aa94c08 2345 * relay: redirect some irc messages from clients to hide output (messages: mode, ison, list, names, topic, who, whois, whowas, time, userhost) (bug #33516)
e473161c
SH
2346 * tcl: add missing function hdata_char in API
2347 * tcl: fix pointer sent to function hook_signal_send when type of data is a pointer
f3dc2e7e 2348
7b053b7c
SH
2349Documentation::
2350
2351 * add Japanese FAQ (patch #7781)
2352
2353Build::
2354
d26380a9 2355 * perl: fix compilation on macOS (bug #30701)
7b053b7c 2356
951d1410 2357[[v0.3.7]]
5812564b 2358== Version 0.3.7 (2012-02-26)
60e88df4 2359
6aa94c08 2360New features::
f23b6be1 2361
6aa94c08 2362 * core: add support of flags in regular expressions and highlight options
6aa94c08
SH
2363 * core: add type "hashtable" for hdata
2364 * core: add signals "buffer_line_added" and "window_switch"
2365 * core: add default keys kbd:[Ctrl+Left] / kbd:[Ctrl+Right] (`meta2-1;5D` / `meta2-1;5C`) for gnome-terminal
fae6bbb4 2366 * core: add option `hooks` in command `/debug`
6aa94c08
SH
2367 * core: add option weechat.look.scroll_bottom_after_switch (if enabled, restore old behavior before fix of bug #25555 in version 0.3.5)
2368 * core: add new option weechat.completion.base_word_until_cursor: allow completion in middle of words (enabled by default) (task #9771)
fae6bbb4 2369 * core: add option `jump_last_buffer_displayed` in command `/input` (key: kbd:[Alt+/]) (task #11553)
6aa94c08 2370 * 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
fae6bbb4 2371 * core: add optional arguments for command `/plugin load/reload/autoload`
7989e523 2372 * core: use extended regex in filters (task #9497, patch #7616)
6aa94c08 2373 * api: add modifier "input_text_for_buffer" (bug #35317)
e473161c
SH
2374 * api: add support of URL in hook_process / hook_process_hashtable (task #10247)
2375 * 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
9bd6cbf4 2376 * alias: add default alias `/umode` -> `/mode $nick`
6aa94c08
SH
2377 * irc: add option "capabilities" in servers to enable client capabilities on connection
2378 * irc: add signal "irc_server_opened"
2379 * irc: add signal "xxx,irc_out1_yyy" and modifier "irc_out1_xxx" (outgoing message before automatic split to fit in 512 bytes)
2380 * irc: add alias "ctcp" for target buffer of CTCP messages
2381 * irc: add options irc.look.highlight_{server|channel|pv} to customize or disable default nick highlight (task #11128)
fae6bbb4 2382 * 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)
6aa94c08
SH
2383 * irc: add optional server in info "irc_is_channel" (before channel name) (bug #35124), add optional server in info_hashtable "irc_message_parse"
2384 * irc: add case insensitive string comparison based on casemapping of server (rfc1459, strict-rfc1459, ascii) (bug #34239)
2385 * irc: add option irc.color.mirc_remap to remap mirc colors in messages to WeeChat colors
fae6bbb4
SH
2386 * irc: allow URL "irc://" in command `/connect`
2387 * irc: use extended regex in commands `/ignore` and `/list`
6aa94c08
SH
2388 * guile: new script plugin for scheme (task #7289)
2389 * python: add support of Python 3.x (task #11704)
2390 * relay: add WeeChat protocol for remote GUI
2391 * xfer: display origin of xfer in core and xfer buffers (task #10956)
2392
7b053b7c
SH
2393Internationalization::
2394
2395 * add Japanese translations
2396
2397Bug fixes::
f23b6be1 2398
e473161c 2399 * core: fix expand of path `~` to home of user in function string_expand_home (`~/xxx` was OK, but not `~`)
6aa94c08 2400 * core: fix memory leak when closing buffer
e473161c 2401 * core: fix memory leak in function util_search_full_lib_name
6aa94c08 2402 * core: automatically add newline char after last pasted line (when pasting many lines with confirmation) (task #10703)
fae6bbb4 2403 * core: fix bug with layout: assign layout number in buffers when doing `/layout save`
6aa94c08
SH
2404 * core: do not auto add space after nick completer if option weechat.completion.nick_add_space is off
2405 * core: fix signal "buffer_switch": send it only once when switching buffer (bug #31158)
fae6bbb4
SH
2406 * core: move option `scroll_unread` from command `/input` to `/window`
2407 * core: save current mouse state in option weechat.look.mouse (set option when mouse state is changed with command `/mouse`)
2408 * core: apply filters after full reload of configuration files (with `/reload`) (bug #31182)
6aa94c08 2409 * core: allow list for option weechat.plugin.extension (makes weechat.conf portable across Un*x and Windows) (task #11479)
fae6bbb4 2410 * core: display error in command `/buffer` if arguments are wrong (bug #34180)
e473161c 2411 * core: fix help on plugin option when config_set_desc_plugin is called to set help on newly created option
6aa94c08
SH
2412 * core: enable background process under Cygwin to connect to servers, fix reconnection problem (bug #34626)
2413 * aspell: fix URL detection (do not check spelling of URLs) (bug #34040)
e8cdda31 2414 * irc: fix memory leak in SASL DH-BLOWFISH authentication
6aa94c08 2415 * irc: fix memory leak when a server is deleted
fae6bbb4 2416 * irc: fix self-highlight when using `/me` with an IRC bouncer like znc (bug #35123)
6aa94c08
SH
2417 * irc: use low priority for MODE sent automatically by WeeChat (when joining channel)
2418 * irc: do not use option irc.look.nick_color_stop_chars for forced nick colors (bug #33480)
fae6bbb4 2419 * irc: reset read marker of current buffer on manual `/join`
6aa94c08 2420 * irc: fix crash when signon time in message 317 (whois, idle) is invalid (too large) (bug #34905)
fae6bbb4 2421 * irc: do not delete servers added in irc.conf on `/reload` (bug #34872)
6aa94c08
SH
2422 * irc: remove autorejoin on channels when disconnected from server (bug #32207)
2423 * irc: display messages kick/kill/mode/topic even if nick is ignored (bug #34853)
2424 * irc: display channel voice notices received in channel buffer (bug #34762), display channel/op notices sent in channel buffer
fae6bbb4 2425 * irc: auto-connect to servers created with "irc://" on command line but not other servers if `-a` (`--no-connect`) is given
6aa94c08
SH
2426 * perl: increment count of hash returned by API (fix crash when script tries to read hash without making a copy)
2427 * relay: do not create relay if there is a problem with socket creation (bug #35345)
2428 * ruby: fix crash when reloading ruby plugin (bug #34474)
71bef80c 2429
7b053b7c
SH
2430Documentation::
2431
2432 * add developer's guide (task #5416)
2433
2434Build::
2435
f065b43b
SH
2436 * core: add library "pthread" in CMake file for link on OpenBSD
2437 * core: add WEECHAT_HOME option in CMake and configure to setup default WeeChat home (default is "~/.weechat") (task #11266)
7b053b7c 2438 * core: fix compilation under OpenBSD 5.0 (lib utf8 not needed any more) (bug #34727)
d26380a9 2439 * core: fix compilation error with "pid_t" on macOS (bug #34639)
7b053b7c 2440
951d1410 2441[[v0.3.6]]
5812564b 2442== Version 0.3.6 (2011-10-22)
4a16de55 2443
6aa94c08 2444New features::
f23b6be1 2445
e473161c 2446 * 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)
6aa94c08
SH
2447 * 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)
2448 * core: add default key kbd:[F5] (`meta2-[E`) for Linux console
2449 * 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
2450 * core: do automatic zoom on current window when terminal becomes too small for windows
2451 * core: add new options weechat.look.bar_more_left/right/up/down
2452 * core: add new option weechat.look.item_buffer_filter
fae6bbb4
SH
2453 * core: allow name of buffer for command `/buffer clear` (task #11269)
2454 * core: add new command `/repeat` (execute a command several times)
2455 * core: save and restore layout for buffers and windows on `/upgrade`
2456 * core: add option `-all` in command `/buffer unmerge`
2457 * core: add number in windows (add optional argument `-window` so some actions for command `/window`)
2458 * core: allow buffer name in `/buffer close`
2459 * 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)
2460 * core: add command `/cursor` (free movement of cursor on screen), with key context "cursor"
2461 * core: automatic scroll direction in `/bar scroll` (x/y is now optional)
2462 * core: add optional delay for key grab (commands `/input grab_key` and `/input grab_key_command`, default is 500 milliseconds)
2463 * core: allow plugin name in command `/buffer name`
6aa94c08
SH
2464 * core: add context "search" for keys (to define keys used during search in buffer with kbd:[Ctrl+r])
2465 * core: add new option weechat.look.separator_vertical, rename option weechat.look.hline_char to weechat.look.separator_horizontal
2466 * core: add local variable "highlight_regex" in buffers
2467 * core: add "hdata" (direct access to WeeChat/plugin data)
2468 * core: add option weechat.look.eat_newline_glitch (do not add new line at end of each line displayed)
fae6bbb4
SH
2469 * core: add options `infolists`, `hdata` and `tags` for command `/debug`
2470 * core: add horizontal scrolling for buffers with free content (command `/window scroll_horiz`) (task #11112)
7989e523 2471 * core: change default value of option weechat.network.gnutls_ca_file to "/etc/ssl/certs/ca-certificates.crt"
6aa94c08 2472 * api: add info "cursor_mode"
e473161c 2473 * 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
fae6bbb4
SH
2474 * irc: allow reason for command `/disconnect`
2475 * irc: allow server name for commands `/die` and `/restart`
6aa94c08 2476 * irc: add new info_hashtable "irc_message_split"
6aa94c08 2477 * irc: add prefix "#" for all channels on join (if no prefix given)
7b053b7c 2478 * irc: improve split of privmsg message (keep ctcp), add split of ison, join, notice, wallops, 005, 353 (bug #29879, bug #33448, bug #33592)
7989e523 2479 * logger: add option logger.file.flush_delay (task #11118)
7b053b7c
SH
2480
2481Bug fixes::
f23b6be1 2482
e473161c
SH
2483 * core: fix freeze when calling function util_file_get_content with a directory instead of a filename
2484 * core: display timeout for hook_process command only if debug for core is enabled (task #11401)
6aa94c08
SH
2485 * core: bufferize lines displayed before core buffer is created, to display them in buffer when it is created
2486 * core: fix display of background color in chat area after line feed
2487 * core: fix paste detection (problem with end of lines)
2488 * core: fix display of paste multi-line prompt with a root input bar (bug #34305)
ef419981 2489 * core: replace deprecated GnuTLS function gnutls_certificate_client_set_retrieve_function by new function gnutls_certificate_set_retrieve_function (GnuTLS ≥ 2.11.0)
e473161c
SH
2490 * core: use dynamic buffer size for calls to vsnprintf
2491 * core: fix memory leak in unhook of hook_connect
6aa94c08
SH
2492 * core: fix memory leak in display of empty bar items
2493 * core: fix input of wide UTF-8 chars under Cygwin (bug #34061)
2494 * core: fix bugs with automatic layout (bug #26110), add support of merged buffers in layout (task #10893)
2495 * core: fix crash when invalid UTF-8 chars are inserted in command line (bug #33471)
2496 * core: stop horizontal bar scroll at the end of content (for bars with horizontal filling) (bug #27908)
2497 * core: fix crash when building hashtable string with keys and values
fae6bbb4 2498 * core: replace buffer name by window number in `/bar scroll`
6aa94c08
SH
2499 * core: fix bugs with key "^" (bug #32072, bug #21381)
2500 * core: fix bugs with bar windows: do not create bar windows for hidden bars
2501 * core: fix completion bug when two words for completion are equal but with different case
2502 * core: fix completion for command arguments when same command exists in many plugins (bug #33753)
e473161c 2503 * core: fix freeze when hook_fd is called with a bad file/socket (bug #33619)
6aa94c08
SH
2504 * core: fix bug with option weechat.look.hotlist_count_max (value+1 was used)
2505 * api: use arguments for infolist "window" to return only one window by number
e473161c 2506 * api: fix bug with function config_set_desc_plugin (use immediately description for option when function is called)
fae6bbb4 2507 * scripts: fix crash with scripts not auto-loaded having a buffer opened after `/upgrade` (input/close callbacks for buffer not set properly)
6aa94c08
SH
2508 * irc: fix display of items "away" and "lag" in root bars, refresh all irc bar items on signal "buffer_switch" (bug #34466)
2509 * irc: fix crash on malformed irc notice received (without message after target)
2510 * irc: add missing messages for whois: 223, 264, 343
2511 * irc: use high priority queue for sending modes and wallchops messages
2512 * irc: rename info_hashtable "irc_parse_message" to "irc_message_parse"
2513 * irc: use color "default" for any invalid color in option weechat.color.chat_nick_colors
2514 * irc: send WHO command to check away nicks only if channel was not parted
2515 * irc: fix crash when malformed IRC message 352 (WHO) is received (bug #33790)
fae6bbb4
SH
2516 * irc: fix crash when command `/buffer close` is used in a server command to close server buffer during connection (bug #33763)
2517 * irc: fix crash when `/join` command is executed on a non-irc buffer (bug #33742)
6aa94c08 2518 * irc: fix bug with comma in irc color code: do not strip comma if it is not followed by a digit (bug #33662)
fae6bbb4 2519 * irc: switch to buffer on `/join #channel` if channel buffer already exists
6aa94c08 2520 * irc: set host for nick on each channel message and nick change (if not already set)
fae6bbb4 2521 * irc: update host of nicks on manual `/who`
6aa94c08
SH
2522 * irc: fix memory leak on plugin unload (free ignores)
2523 * irc: fix memory leak in message parser (when called from other plugins like relay) (bug #33387)
2524 * relay: fix bug with self nick when someone changes its nick on channel (bug #33739)
2525 * relay: fix memory leak (free some parsed messages) (bug #33387)
2526 * relay: fix memory leak on plugin load (free raw messages)
e473161c 2527 * perl: replace calls to SvPV by SvPV_nolen (patch #7436)
3a0cf4b4 2528
7b053b7c
SH
2529Build::
2530
d26380a9 2531 * core: fix compilation error (INSTALLPREFIX undeclared) on macOS and when compiling with included gettext (bug #26690)
7b053b7c 2532
951d1410 2533[[v0.3.5]]
5812564b 2534== Version 0.3.5 (2011-05-15)
030755d3 2535
6aa94c08 2536New features::
f23b6be1 2537
6aa94c08 2538 * 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)
fae6bbb4
SH
2539 * core: add option `balance` in command `/window` (key: kbd:[Alt+w], kbd:[Alt+b])
2540 * core: add option `swap` in command `/window` (key: kbd:[Alt+w], kbd:[Alt+s]) (task #11001)
6aa94c08
SH
2541 * core: add option weechat.look.hotlist_buffer_separator
2542 * 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}
2543 * core: add tag "notify_none" (line with this tag will not update hotlist)
fae6bbb4 2544 * core: add optional bar name in command `/bar default`
6aa94c08 2545 * core: add new option weechat.look.highlight_tags (force highlight on tags)
fae6bbb4
SH
2546 * core: allow list of buffers in command `/filter` (exclusion with prefix "!") (task #10880)
2547 * core: allow relative size for command `/window resize`
6aa94c08 2548 * core: add some default keys for gnome-terminal (kbd:[Home] / kbd:[End], kbd:[Ctrl+Up] / kbd:[Ctrl+Down], kbd:[Alt+PgUp] / kbd:[Alt+PgDn])
fae6bbb4 2549 * core: add option `memory` in command `/debug`
6aa94c08 2550 * core: add option weechat.look.read_marker_string
6aa94c08
SH
2551 * core: add some chars after cursor when scrolling input line: new option weechat.look.input_cursor_scroll (bug #21391)
2552 * core: add color "gray"
2553 * core: add attributes for colors ("*": bold, "!": reverse, "_": underline)
fae6bbb4 2554 * 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
6aa94c08 2555 * core: allow background for nick colors (using ":")
7989e523 2556 * core: remember scroll position for all buffers in windows (bug #25555)
fae6bbb4
SH
2557 * core: improve display of commands lists in `/help` (add arguments -list and -listfull) (task #10299)
2558 * core: improve arguments displayed in `/help` of commands
e473161c
SH
2559 * api: add new function config_set_desc_plugin (task #10925)
2560 * api: add new functions buffer_match_list and window_search_with_buffer
6aa94c08
SH
2561 * aspell: add section "option" in aspell.conf for speller options (task #11083)
2562 * irc: add new options irc.color.topic_old and irc.color.topic_new
2563 * irc: add option "ssl_priorities" in servers (task #10106, debian #624055)
2564 * irc: add modifier "irc_in2_xxx" (called after charset decoding)
6aa94c08
SH
2565 * irc: add new options irc.look.buffer_switch_autojoin and irc.look.buffer_switch_join (task #8542, task #10506)
2566 * irc: add new option irc.look.smart_filter_nick
2567 * irc: add new options irc.look.color_nicks_in_nicklist and irc.look.color_nicks_in_names
7b053b7c
SH
2568 * irc: replace options irc.color.nick_prefix_{op|halfop|voice|user} by a single option irc.color.nick_prefixes (task #10888)
2569
2570Bug fixes::
f23b6be1 2571
fae6bbb4 2572 * core: fix scroll in windows with `/window scroll` (skip lines "Day changed to")
6aa94c08
SH
2573 * core: recalculate buffer_max_length when buffer short name is changed (patch #7441)
2574 * core: do not update hotlist during upgrade
2575 * core: apply new value of option weechat.look.buffer_notify_default to all opened buffers
2576 * core: prohibit names beginning with "#" for bars, proxies, filters and IRC servers (bug #33020)
2577 * core: create default bars only if no bar is defined in configuration file
2578 * core: fix bug with repeat of last completion ("%*"), which failed when many templates are used in completion
2579 * core: reload file with certificate authorities when option weechat.network.gnutls_ca_file is changed
2580 * core: rebuild bar content when items are changed in an hidden bar
497dc3cd 2581 * core: fix verification of SSL certificates by calling GnuTLS verify callback (patch #7459, CVE-2011-1428)
6aa94c08
SH
2582 * core: fix crash when using column filling in bars with some empty items (bug #32565)
2583 * core: fix terminal title when $TERM starts with "screen"
fae6bbb4 2584 * plugins: fix memory leaks when setting buffer callbacks after `/upgrade` (plugins: irc, relay, xfer, scripts)
6aa94c08
SH
2585 * aspell: fix spellers used after switch of window (bug #32811)
2586 * irc: fix parsing of message 332 when no topic neither colon are found (bug with bip proxy)
2587 * irc: fix nick color in private when option irc.look.nick_color_force is changed
fae6bbb4 2588 * irc: fix tags for messages sent with `/msg` command (bug #33169)
6aa94c08 2589 * irc: fix memory leak when copying or renaming server
fae6bbb4 2590 * irc: do not rejoin channels where `/part` has been issued before reconnection to server (bug #33029)
6aa94c08
SH
2591 * irc: use nick color for users outside the channel
2592 * irc: update short name of server buffer when server is renamed
2593 * irc: fix local variable "away" on server buffer (set/delete it each time away is set or removed on server)
2594 * irc: ignore join if nick is not self nick and if channel buffer does not exist (bug #32667)
2595 * irc: fix crash when setting wrong value in option irc.server.xxx.sasl_mechanism (bug #32670)
fae6bbb4 2596 * irc: fix crash when completing `/part` command on a non-irc buffer (bug #32402)
6aa94c08
SH
2597 * irc: add many missing commands for target buffer (options irc.msgbuffer.xxx) (bug #32216)
2598 * lua: fix crash when many scripts are executing callbacks at same time
2599 * perl: fix memory leak when calling Perl functions (bug #32895)
fae6bbb4 2600 * relay: fix crash on `/upgrade` when nick in irc client is not yet set
6aa94c08
SH
2601 * relay: allow colon in server password received from client
2602 * relay: do not send join for private buffers to client
2603 * rmodifier: fix reload of file rmodifier.conf
2604 * rmodifier: fix crash when adding rmodifier with invalid regex
6aa94c08 2605 * xfer: do not close chat buffers when removing xfer from list (bug #32271)
773effbb 2606
7b053b7c
SH
2607Build::
2608
2609 * tcl: fix Tcl detection on some 64-bits systems (bug #32915)
2610
951d1410 2611[[v0.3.4]]
5812564b 2612== Version 0.3.4 (2011-01-16)
6f063c95 2613
6aa94c08 2614New features::
f23b6be1 2615
fae6bbb4 2616 * core: add 256 colors support, new command `/color`, new section "palette" in weechat.conf (task #6834)
6aa94c08 2617 * core: add info "weechat_upgrading", signal "upgrade_ended", display duration of upgrade
e473161c 2618 * core: add new option weechat.look.highlight_regex and function string_has_highlight_regex in plugin API (task #10321)
6aa94c08
SH
2619 * core: add new option weechat.look.hotlist_unique_numbers (task #10691)
2620 * core: add property "hotlist_max_level_nicks" in buffers to set max hotlist level for some nicks in buffer
2621 * core: add new options weechat.look.input_share and weechat.look.input_share_overwrite (task #9228)
2622 * core: add new option weechat.look.prefix_align_min (task #10650)
7989e523
SH
2623 * 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)
2624 * core: add color support in option weechat.look.buffer_time_format
6aa94c08 2625 * api: add priority for hooks (task #10550)
e473161c 2626 * 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
fae6bbb4
SH
2627 * irc: add option `-server` in command `/join` (task #10837)
2628 * irc: add option `-switch` in commands `/connect` and `/reconnect`
2629 * 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)
6aa94c08
SH
2630 * irc: add new option irc.look.nick_color_force (task #7374)
2631 * irc: add command redirection with hsignals irc_redirect_pattern and irc_redirect_command (task #6703)
2632 * irc: add new options irc.color.nick_prefix and irc.color.nick_suffix
2633 * irc: add new option irc.look.item_away_message
2634 * irc: add tag "nick_xxx" in user messages
2635 * 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)
6aa94c08
SH
2636 * irc: display old channel topic when topic is unset (task #9780)
2637 * irc: add new info_hashtable "irc_parse_message"
2638 * irc: add signal "irc_input_send"
7989e523 2639 * 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)
6aa94c08
SH
2640 * rmodifier: new plugin "rmodifier": alter modifier strings with regular expressions (bug #26964)
2641 * relay: beta version of IRC proxy, now relay plugin is compiled by default
2642 * python: add info "python2_bin" (path to Python 2.x interpreter)
2643
7b053b7c 2644Bug fixes::
f23b6be1 2645
6aa94c08 2646 * core: fix scroll problem on buffers with free content and non-allocated lines (bug #32039)
e473161c 2647 * core: call to function hook_config when config option is created
6aa94c08 2648 * core: fix infinite loop on GnuTLS handshake when connecting with SSL to server on wrong port or server with SSL problems (bug #27487)
e473161c 2649 * 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
6aa94c08
SH
2650 * core: fix crash when displaying groups in buffer nicklist
2651 * core: fix bug with message "day changed to", sometimes displayed several times wrongly
2652 * core: fix default value of bar items options (bug #31422)
fae6bbb4 2653 * core: fix bug with buffer name in `/bar scroll` command
6aa94c08
SH
2654 * core: optimize incremental search in buffer: do not search any more when chars are added to a text not found (bug #31167)
2655 * core: fix memory leaks when removing item in hashtable and when setting highlight words in buffer
2656 * core: use similar behavior for keys bound to local or global history (bug #30759)
fae6bbb4 2657 * alias: complete with alias value for second argument of command `/alias`
6aa94c08
SH
2658 * irc: differentiate notices from messages in private buffer (bug #31980)
2659 * irc: update nick modes with message 221 (bug #32038)
2660 * irc: fix bug with charset decoding on private buffers (decoding was made for local nick instead of remote nick) (bug #31890)
fae6bbb4
SH
2661 * irc: allow command `/reconnect` on servers that are not currently connected (bug #30726)
2662 * irc: fix topic completion in command `/topic` when channel topic starts with channel name
6aa94c08
SH
2663 * irc: improve nick prefixes, all modes (even unknown) are used with PREFIX value from message 005
2664 * irc: fix crash/bug when option "addresses" for a server is unset or changed when WeeChat is connected to this server (bug #31268)
2665 * irc: switch to next server address when IRC error is received after TCP connection but before message 001 (bug #30884)
fae6bbb4 2666 * irc: fix bug with hostmasks in command `/ignore` (bug #30716)
6aa94c08 2667 * relay: split of messages sent to clients of irc proxy
e473161c 2668 * scripts: add missing function infolist_reset_item_cursor in API (bug #31057)
6aa94c08 2669 * lua: fix crash when unloading script
6aa94c08
SH
2670 * xfer: fix dcc chat buffer name (use irc server in name) (bug #29925)
2671 * xfer: fix dcc file transfer for large files (more than 4 GB) on 32-bit systems (bug #31531)
2672 * xfer: fix bug at end of file sent, sometimes transfer is still active although file was successfully sent
d59d099e 2673
7b053b7c
SH
2674Build::
2675
f065b43b 2676 * core: add support of Python 2.7 in CMake and configure (debian #606989)
7b053b7c
SH
2677 * ruby: fix compilation with Ruby 1.9.2 (patch #7316)
2678
951d1410 2679[[v0.3.3]]
5812564b 2680== Version 0.3.3 (2010-08-07)
9cbcc24d 2681
6aa94c08 2682New features::
f23b6be1 2683
6aa94c08
SH
2684 * core: use "!" to reverse a regex in a filter (to keep lines matching regex and hide other lines) (task #10032)
2685 * core: add keys for undo/redo changes on command line (default: kbd:[Ctrl+pass:none[_]] and kbd:[Alt+pass:none[_]]) (task #9483)
2686 * core: add new option weechat.look.align_end_of_lines
2687 * core: add new option weechat.look.confirm_quit
2688 * core: add new option weechat.color.status_name_ssl (task #10339)
2689 * core: add hashtables with new functions in plugin API
e473161c 2690 * api: add function string_expand_home, fix bug with replacement of home in paths
6aa94c08 2691 * irc: add new option irc.look.nick_color_stop_chars
6aa94c08 2692 * irc: add new options irc.look.display_host_join/join_local/quit and irc.color.reason_quit
fae6bbb4 2693 * irc: add command `/wallchops`, fix bug with display of notice for ops (task #10021, bug #29932)
6aa94c08 2694 * irc: add isupport value in servers (content of IRC message 005), with new infos: irc_server_isupport and irc_server_isupport_value
fae6bbb4 2695 * irc: add message in private buffer when nick is back on server after a `/quit`
6aa94c08
SH
2696 * irc: add new options irc.network.autoreconnect_delay_growing and irc.network.autoreconnect_delay_max (task #10338)
2697 * irc: add missing commands 346, 347 (channel invite list)
7b053b7c
SH
2698 * 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
2699 * irc: move options weechat.color.nicklist_prefix to irc plugin
6aa94c08
SH
2700 * logger: use tag "no_log" to prevent a line from being written in log file
2701
7b053b7c 2702Bug fixes::
f23b6be1 2703
6aa94c08 2704 * core: fix bug with scroll_unread: do not scroll to a filtered line (bug #29991)
e473161c 2705 * core: fix crash with hook_process (when timer is called on a deleted hook process)
6aa94c08
SH
2706 * core: fix display bug with special chars (ascii value below 32) (bug #30602)
2707 * core: fix display bug with attributes like underlined in bars (bug #29889)
e473161c 2708 * api: fix bug with replacement char in function string_remove_color (bug #30296)
6aa94c08 2709 * irc: fix bug in parser when no argument is received after command, no callback was called, and message was silently ignored (bug #30640)
ef419981 2710 * irc: fix import of certificates created by OpenSSL ≥ 1.0.0 (bug #30316)
6aa94c08
SH
2711 * irc: fix display of local SSL certificate when it is sent to server (patch #7218)
2712 * irc: use empty real name by default in config, instead of reading real name in /etc/passwd (bug #30111)
1582d923 2713 * irc: fix bug with command line option "irc://" (bug #29990), new format for port and channels
6aa94c08
SH
2714 * irc: fix display of messages 330 and 333 on some servers
2715 * irc: fix bug with nick prefix "*" (chan founder) on some IRC servers (bug #29890)
2716 * irc: fix bug with option irc.network.lag_check when value is 0 (zero)
2717 * irc: try other nick when connecting to server and receiving message 437 (nick unavailable)
2718 * irc: set buffer local variable "away" when opening new channel (bug #29618)
2719 * fifo: fix bug with fifo pipe when setting fifo option to "on"
2720 * xfer: fix bug with double quotes in DCC filenames (bug #30471)
03fb1c94 2721
951d1410 2722[[v0.3.2]]
5812564b 2723== Version 0.3.2 (2010-04-18)
4fd23e12 2724
6aa94c08 2725New features::
f23b6be1 2726
fae6bbb4
SH
2727 * core: add new options for command `/key`: `listdefault`, `listdiff` and `reset`
2728 * core: add new command `/mute`
2729 * core: add command line option `-s` (or `--no-script`) to start WeeChat without loading any script
6aa94c08 2730 * core: improve plugins autoload (option weechat.plugin.autoload): allow to use "*" as wildcard and "!" to prevent a plugin from being autoloaded (task #6361)
fae6bbb4 2731 * core: add option "switch_active_buffer_previous" in command `/input` (task #10141)
e473161c
SH
2732 * 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)
2733 * core: add new option weechat.look.command_chars, add functions string_is_command_char and string_input_for_buffer in plugin and script API
6aa94c08 2734 * core: add new option weechat.look.read_marker_always_show
e473161c
SH
2735 * api: add "version_number" for function info_get to get WeeChat version as number
2736 * api: add "irc_is_nick" for function info_get to check if a string is a valid IRC nick name (patch #7133)
2737 * api: add functions string_encode_base64 and string_decode_base64, fix bug with base64 encoding
2738 * api: add functions string_match, string_has_highlight and string_mask_to_regex in script plugin API
2739 * api: add description of arguments for functions hook_info and hook_infolist
6aa94c08
SH
2740 * api: add signals "day_changed", "nicklist_group_added/removed", "nicklist_nick_added/removed"
2741 * alias: add custom completion for aliases (task #9479)
2742 * scripts: allow script commands to reload only one script
7b053b7c 2743 * irc: add SASL authentication, with PLAIN and DH-BLOWFISH mechanisms (task #8829)
fae6bbb4
SH
2744 * irc: add new option irc.look.part_closes_buffer to close buffer when `/part` is issued on channel (task #10295)
2745 * irc: add option `-open` in command `/connect`
6aa94c08
SH
2746 * irc: add option irc.network.connection_timeout (timeout between TCP connection to server and reception of message 001)
2747 * irc: add options irc.look.smart_filter_join and irc.look.smart_filter_quit
2748 * irc: add option irc.look.item_channel_modes_hide_key to hide channel key in channel modes (bug #23961)
2749 * irc: add option irc.look.item_nick_prefix
fae6bbb4 2750 * irc: add command `/map`
6aa94c08
SH
2751 * irc: add missing commands 276, 343
2752 * logger: allow date format in logger options path and mask (task #9430)
2753 * xfer: add signal "xfer_ended" (patch #7081)
2754
7b053b7c 2755Bug fixes::
f23b6be1 2756
6aa94c08
SH
2757 * core: remove unneeded space after time on each line if option weechat.look.buffer_time_format is set to empty value (bug #28751)
2758 * core: use arguments for infolist "nicklist" to return only one nick or group
2759 * core: fix bug with writing of configuration files when disk is full (bug #29331)
fae6bbb4
SH
2760 * core: fix infinite loop with `/layout apply` and bug when applying layout, sometimes many `/layout apply` were needed (bug #26110)
2761 * gui: refresh screen when exiting WeeChat (to display messages printed after `/quit`)
6aa94c08
SH
2762 * gui: fix bug with global history, reset pointer to last entry after each user input (bug #28754)
2763 * gui: fix bug with bar background after text with background color (bug #28157)
2764 * gui: fix bug with cursor when position is last char of terminal
e473161c
SH
2765 * api: add missing infos in functions buffer_get_{integer|string} and in buffer infolist
2766 * api: fix function color in Lua script API
6aa94c08 2767 * api: fix "inactivity" value when no key has been pressed since WeeChat started (bug #28930)
e473161c 2768 * api: return absolute path for info_get of "weechat_dir" (bug #27936)
6aa94c08
SH
2769 * scripts: fix bug with callbacks when loading a script already loaded
2770 * perl: fix crash when multiplicity is disabled
2771 * perl: fix crash when callbacks are called during script initialization (bug #29018)
fae6bbb4 2772 * perl: fix crash on `/quit` or unload of plugin under FreeBSD and Cygwin (bug #29467)
6aa94c08 2773 * perl: fix bug with script filename when multiplicity is disabled (bug #29530)
6aa94c08
SH
2774 * irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
2775 * irc: fix bug with SSL connection (fails sometimes when ssl_verify is on) (bug #28741)
2776 * irc: fix bug with nicks on reconnection: try all nicks in list, even if nick used was not the first in list of nicks
fae6bbb4 2777 * irc: fix command `/list`: send channel and server name given as argument, and use separate option `-re` to allow a regex
6aa94c08 2778 * irc: fix PART message received on Undernet server (bug #28825)
fae6bbb4 2779 * irc: fix bug with `/away -all`: set or unset future away for disconnected servers (bug #29022)
6aa94c08
SH
2780 * irc: fix bug with prefix "!" for mode "a" (channel admin) (bug #29109)
2781 * irc: do not send signals "irc_in" and "irc_in2" when messages are ignored, add new signals "irc_raw_in" and "irc_raw_in2"
2782 * irc: apply smart filter only on channels, not private buffers (bug #28841)
6aa94c08 2783 * xfer: fix crash when purging old xfer chats (bug #28764)
f4d5ddd8 2784
7b053b7c
SH
2785Build::
2786
2787 * irc: fix compilation with old GnuTLS versions (bug #28723)
2788
951d1410 2789[[v0.3.1.1]]
5812564b 2790== Version 0.3.1.1 (2010-01-31)
4fd23e12 2791
7b053b7c 2792Bug fixes::
f23b6be1 2793
6aa94c08
SH
2794 * irc: fix crash with SSL connection if option ssl_cert is set (bug #28752)
2795 * irc: fix bug with SSL connection (fails sometimes when ssl_verify is on) (bug #28741)
6aa94c08 2796 * xfer: fix crash when purging old xfer chats (bug #28764)
c4467469 2797
7b053b7c
SH
2798Build::
2799
2800 * irc: fix compilation with old GnuTLS versions (bug #28723)
2801
951d1410 2802[[v0.3.1]]
5812564b 2803== Version 0.3.1 (2010-01-23)
4bd7eaf1 2804
6aa94c08 2805New features::
f23b6be1 2806
fae6bbb4 2807 * core: add option "grab_key_command" in command `/input` (bound by default to kbd:[Alt+k])
6aa94c08 2808 * alias: new expansions for alias arguments ($n, $-m, $n-, $n-m, $*, $~) (patch #6917)
fae6bbb4
SH
2809 * alias: allow use of wildcards for `/alias list` (patch #6925)
2810 * alias: allow `/unalias` to remove multiple aliases (patch #6926)
2811 * irc: add new commands `/allchan` and `/allserv` with excluding option, commands `/ame` and `/amsg` are now aliases, new aliases `/aaway` and `/anick`
6aa94c08
SH
2812 * irc: add options to customize target buffer for messages (task #7381)
2813 * irc: add new output queue for messages with low priority (like automatic CTCP replies), high priority is given to user messages or commands
2814 * irc: use self-signed certificate to auto identify on IRC server (CertFP) (task #7492, debian #453348)
2815 * irc: check SSL certificates (task #7492)
2816 * irc: add option "autorejoin_delay" for servers (task #8771)
2817 * irc: add option to use same nick color in channel and private (task #9870)
2818 * irc: add missing command 275 (patch #6952)
fae6bbb4 2819 * irc: add commands `/sajoin`, `/samode`, `/sanick`, `/sapart`, `/saquit` (task #9770)
6aa94c08
SH
2820 * irc: add options for CTCP, to block/customize CTCP reply (task #9693)
2821 * irc: add missing CTCP: clientinfo, finger, source, time, userinfo (task #7270)
fae6bbb4
SH
2822 * irc: add all server options for commands `/server` and `/connect`
2823 * irc: add arguments for command `/rehash`
2824 * irc: improve mask used by command `/kickban`
6aa94c08 2825 * xfer: add color for nicks in chat
fae6bbb4 2826 * xfer: add missing command `/me` (bug #28658)
6aa94c08
SH
2827 * gui: add color "darkgray", add support for background with light color
2828
7b053b7c 2829Bug fixes::
f23b6be1 2830
d26380a9 2831 * core: fix bug with script installation on BSD/macOS (patch #6980)
6aa94c08 2832 * core: fix compilation under Cygwin (patch #6916)
6aa94c08
SH
2833 * core: fix plural form in translation files (bug #27430)
2834 * core: fix terminal title bug: do not reset it when option weechat.look.set_title is off (bug #27399)
2835 * core: fix buffer used by some input functions called via plugin API with buffer pointer (bug #28152)
e473161c 2836 * alias: fix bug with buffer for execution of alias, when called from plugin API with function command (bug #27697)
6aa94c08
SH
2837 * alias: fix bug with arguments (bug #27440)
2838 * irc: improve error management on socket error (recv/send)
6aa94c08
SH
2839 * irc: fix nick color for nicks with wide chars (bug #28547)
2840 * irc: fix autorejoin on channels with key
fae6bbb4 2841 * irc: fix command `/connect` (options -ssl, -ipv6 and -port) (bug #27486)
6aa94c08
SH
2842 * xfer: add missing charset decoding/encoding for IRC DCC chat (bug #27482)
2843 * fifo: remove old pipes before creating new pipe
2844 * gui: fix color "black" (bug #23882, debian #512957)
2845 * gui: fix message "Day changed to", sometimes displayed at wrong time (bug #26959)
2846 * gui: fix bug with URL selection in some terminals (caused by horizontal lines) (bug #27700)
2847 * gui: use default auto completion for arguments of unknown commands
2848 * gui: fix alignment problem for buffer name when a merged buffer is closed (bug #27617)
2849 * gui: update hotlist when a buffer is closed (bug #27470), remove buffer from hotlist when buffer is cleared (bug #27530)
fae6bbb4 2850 * gui: fix `/input history_global_next`: reset input content when last command in history is reached
e473161c 2851 * api: fix function bar_set for python/lua/ruby (patch #6912)
4bd7eaf1 2852
7b053b7c
SH
2853Build::
2854
f065b43b 2855 * core: fix CMake directories: let user customize lib, share, locale and include directories (patch #6922)
ef419981 2856 * ruby: add support of Ruby ≥ 1.9.1 (patch #6989)
7b053b7c 2857
951d1410 2858[[v0.3.0]]
5812564b 2859== Version 0.3.0 (2009-09-06)
041b7549 2860
6aa94c08 2861New features::
f23b6be1 2862
6aa94c08 2863 * core: add group support in nicklist
fae6bbb4
SH
2864 * core: add `/reload` command to reload WeeChat and plugins config files (signal SIGHUP is caught to reload config files)
2865 * core: add new `/layout` command and save_layout_on_exit config option, to save/restore windows and buffers order (task #5453)
6aa94c08
SH
2866 * core: add new options for completion, optional stop instead of cycling with words found (task #5909)
2867 * core: new name for configuration files (*.conf instead of *.rc)
fae6bbb4 2868 * core: improve `/set` command, new command `/unset` (task #6085)
6aa94c08 2869 * core: add new input action "set_unread_current_buffer" to set unread marker for current buffer only (task #7286)
fae6bbb4
SH
2870 * core: remove key functions, replaced by `/input` command
2871 * core: add argument with buffer number/range for command `/buffer close` (task #9390, task #7239)
2872 * core: add new command `/wait` (schedule a command execution in future)
e473161c 2873 * core: improve main loop: higher timeout in select, less CPU usage
6aa94c08
SH
2874 * gui: new display engine, with prefix and message for each line
2875 * gui: add new type of buffer, with free content
2876 * gui: add tags for lines and custom filtering by tags or regex (task #7674)
2877 * gui: add buffer merging (task #7404)
2878 * gui: add custom bars, with custom items
2879 * gui: add key to zoom a window (task #7470)
2880 * gui: add keys to move into last visited buffers: kbd:[Alt+<] and kbd:[Alt+>]
2881 * gui: come back to last visited buffer when closing a buffer
2882 * gui: add new option scroll_page_percent to choose percent of height to scroll with kbd:[PgUp] and kbd:[PgDn] keys (task #8702)
2883 * gui: add number of lines remaining after last line displayed in "-MORE-" indicator (task #6702)
2884 * network: add support for more than one proxy, with proxy selection for each IRC server (task #6859)
2885 * aspell: improve plugin: use of many dictionaries, global dictionary, real time checking (optional), fix bugs with utf-8
2886 * irc: add irc plugin (replaces old IRC code in core) (task #6217)
2887 * irc: add smart join/part/quit message filter (task #8503)
2888 * irc: use of many addresses for servers (auto-switch when a connection fails), nicks are now set with one option "nicks" (task #6088)
2889 * irc: add some colors in messages from server (for text and nicks) (task #8926)
2890 * irc: add color decoding in title for IRC channels (task #6030)
2891 * irc: add missing commands (328, 369)
2892 * 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)
2893 * relay: add relay plugin (network communication between WeeChat and remote application)
2894 * xfer: add speed limit for DCC files sending (task #6178)
2895 * xfer: add new option xfer.file.use_nick_in_filename for Xfer files (task #7140)
2896 * plugins: add some other plugins: alias, demo, fifo, tcl, xfer
03456722 2897 * 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, ...
6aa94c08
SH
2898 * api: add hooks: command, timer, file descriptor, process, connection, print, signal, config, completion, modifier, info, infolist
2899 * api: new plugin API with many new functions: hooks, buffer management and nicklist, bars, configuration files, network, infos/infolists, lists, upgrade
2900
7b053b7c
SH
2901Internationalization::
2902
2903 * add Polish translations
2904
2905Bug fixes::
f23b6be1 2906
6aa94c08
SH
2907 * core: fix nick completion bug (missing space after nick)
2908 * gui: fix completion with non-latin nicks (bug #18993)
2909 * gui: fix display bug with some weird UTF-8 chars (bug #19687)
2910 * gui: fix bug with wide chars in input (bug #16356)
2911 * gui: fix bug when switching window, scrollback is now preserved (task #7680)
2912 * network: fix network connection for hostnames resolving to several IPs: try all IPs in list until one succeeds (bug #21473, debian #498610)
2913 * alias: fix bug with alias, use current buffer to run commands (bug #22876)
2914 * irc: fix lock with SSL servers when connection fails, and when disconnecting during connection problem (bug #17584)
fae6bbb4 2915 * irc: command `/whois` is now authorized in private without argument (task #7482)
6aa94c08
SH
2916 * irc: fix private buffer name with Irssi proxy (bug #26589)
2917 * irc: remove kernel info in CTCP VERSION reply (task #7494)
2918 * irc: fix mode parsing when receiving modes with arguments (bug #26793)
2919 * scripts: do not auto-load hidden files (bug #21390)
041b7549 2920
951d1410 2921[[v0.2.6.3]]
5812564b 2922== Version 0.2.6.3 (2009-06-13)
17866465 2923
7b053b7c 2924Bug fixes::
f23b6be1 2925
6aa94c08 2926 * fix GnuTLS detection (use pkg-config instead of libgnutls-config) (bug #26790)
17866465 2927
951d1410 2928[[v0.2.6.2]]
5812564b 2929== Version 0.2.6.2 (2009-04-18)
041b7549 2930
7b053b7c 2931Bug fixes::
f23b6be1 2932
6aa94c08 2933 * fix bug with charset decoding (for example with iso2022jp) (bug #26228)
041b7549 2934
951d1410 2935[[v0.2.6.1]]
5812564b 2936== Version 0.2.6.1 (2009-03-14)
041b7549 2937
7b053b7c 2938Bug fixes::
f23b6be1 2939
497dc3cd 2940 * fix crash with some special chars in IRC messages (bug #25862, CVE-2009-0661)
041b7549 2941
951d1410 2942[[v0.2.6]]
5812564b 2943== Version 0.2.6 (2007-09-06)
041b7549 2944
6aa94c08 2945New features::
f23b6be1 2946
fae6bbb4 2947 * add new option `deloutq` to `/server` command to delete all servers messages out queues (task #7221)
6aa94c08
SH
2948 * add string length limit for setup file options
2949 * add option to align text of messages (except first lines) (task #7246)
2950 * add paste detection, new options look_paste_max_lines and col_input_actions (task #5442)
6aa94c08 2951 * add support of channel mode +u (channel user) (bug #20717)
fae6bbb4
SH
2952 * improve `/connect` command to connect to a host by creating a temporary server, add option to `/server` to create temporary server (task #7095)
2953 * add `copy`, `rename` and `keep` options to `/server` command
2954 * allow clear of multiple selected buffers with `/clear` (patch #6112)
6aa94c08 2955 * add key for setting unread marker on all buffers (default: kbd:[Ctrl+s], kbd:[Ctrl+u]) (task #7180)
fae6bbb4 2956 * improve command `/server` ant its output
6aa94c08
SH
2957 * add 3 default new keys: kbd:[Ctrl+b] (left), kbd:[Ctrl+f] (right), kbd:[Ctrl+d] (delete)
2958 * add "buffer_move" event handler to plugins API (task #6708)
2959 * add key function "jump_previous_buffer" to jump to buffer previously displayed (new key: kbd:[Alt+j], kbd:[Alt+p]) (task #7085)
2960 * add "%*" to completion template, to repeat last completion
fae6bbb4
SH
2961 * add `-nojoin` option for `/connect` and `/reconnect` commands (task #7074)
2962 * add `scroll` option to `/buffer` command
6aa94c08 2963 * down key now saves input to history and clears input line (task #7049)
fae6bbb4
SH
2964 * command `/away` allowed when not connected to server (internally stored and AWAY command is sent when connecting to server) (task #7003)
2965 * add argument for `/upgrade` command (path to binary)
6aa94c08
SH
2966 * add hotlist sort with new option "look_hotlist_sort" (task #5870)
2967
7b053b7c 2968Bug fixes::
f23b6be1 2969
6aa94c08
SH
2970 * fix bug with log of plugin messages (option log_plugin_msg)
2971 * fix display bug with some special chars in messages (some words were truncated on screen) (bug #20944)
2972 * fix UTF-8 bug with color encoding/decoding
2973 * fix crash when searching text in buffer with kbd:[Ctrl+r] (bug #20938)
e473161c 2974 * fix bug with flock when home is on NFS filesystem (bug #20913)
6aa94c08
SH
2975 * fix user modes in nicklist when ban and nick mode are received in the same MODE message (bug #20870)
2976 * fix IRC message 333: silently ignore message if error when parsing it
2977 * fix server option "command_delay": does not freeze WeeChat any more
2978 * fix bug with highlight and UTF-8 chars around word (bug #20753)
2979 * fix nick prefix display on servers that doesn't support all prefixes (bug #20025)
2980 * fix terminal encoding detection when NLS is disabled (bug #20646)
2981 * fix crash when sending data to channel or pv on disconnected server (bug #20524)
2982 * 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)
2983 * fix bug with smart nick completion (last speakers first) when a nick is changed
2984 * fix charset bug with channel names in status bar (bug #20400)
2985 * fix log file when channel name contains "/" (bug #20072)
fae6bbb4 2986 * fix bug with `/topic` when channel not open and topic not defined (bug #20141)
041b7549 2987
7b053b7c
SH
2988Documentation::
2989
2990 * add Swedish quickstart guide
2991
951d1410 2992[[v0.2.5]]
5812564b 2993== Version 0.2.5 (2007-06-07)
041b7549 2994
6aa94c08 2995New features::
f23b6be1 2996
6aa94c08
SH
2997 * add missing IRC commands (327, 378, 379) (bug #20091)
2998 * add "%M" for completion with nicks of current server (nicks on open channels) (task #6931)
2999 * improve key bindings: now possible to bind a key on many commands, separated by semicolon (task #5444)
3000 * improve IRC long message split: use word boundary (task #6685)
6aa94c08
SH
3001 * add protocol priority for GnuTLS (patch #5915)
3002 * add channel admin mode "!" for some IRC servers
fae6bbb4
SH
3003 * add `/reconnect` command (task #5448)
3004 * add `-all` option for `/connect` and `/disconnect` commands (task #6232)
6aa94c08
SH
3005 * 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)
3006 * add color for input text not found in buffer history
3007
7b053b7c 3008Bug fixes::
f23b6be1 3009
fae6bbb4 3010 * fix `/quote` command: now allowed when socket is OK (even if IRC connection to server is not OK) (bug #20113)
6aa94c08
SH
3011 * fix hotlist when exiting search mode: current buffer is removed from hotlist
3012 * remove ":" for unknown IRC commands before arguments (bug #19929)
3013 * fix "%C" completion: now completes with all channels of all servers
fae6bbb4 3014 * fix bug with `/buffer query_name`, add server and channel completion for `/buffer` command (bug #19928)
6aa94c08
SH
3015 * fix IRC mode parsing when receiving modes with arguments (bug #19902)
3016 * fix crash with IRC JOIN malformed message (bug #19891)
3017 * fix bug with nick prefixes on some IRC servers (bug #19854)
3018 * improve setup file save: now writes temporary file, then rename it (task #6847)
3019 * fix bug with $nick/$channel/$server variables in commands
3020 * forget current nick when user manually disconnects from server
3021 * fix nick display in input window
3022 * fix bug with erroneous nickname when connecting to server (bug #19812)
3023 * fix display bugs in IRC error messages
3024 * fix bug with iso2022jp locale (bug #18719)
3025 * fix string format bug when displaying string through plugin script API
3026 * fix nick completion in command arguments (bug #19590)
3027 * fix possible crash with nick completion when a nick leaves channel (bug #19589)
3028 * fix USER message when connecting to IRC server (patch #5835)
041b7549 3029
7b053b7c
SH
3030Build::
3031
f065b43b 3032 * add CMake for weechat compilation (patch #5943)
7b053b7c 3033
951d1410 3034[[v0.2.4]]
5812564b 3035== Version 0.2.4 (2007-03-29)
041b7549 3036
6aa94c08 3037New features::
f23b6be1 3038
6aa94c08
SH
3039 * rename log file for DCC chat (now <server>.dcc.<nick>.weechatlog)
3040 * add current buffer in hotlist when scrolling up in buffer (task #6664)
3041 * improve password hiding, code cleanup (bug #19229)
3042 * add new return code in plugin API to force highlight (for message handlers only)
fae6bbb4 3043 * add `call` option to `/key` command, add new key function "insert" to insert text on command line (task #6468)
6aa94c08 3044 * add event handler to plugin API
fae6bbb4 3045 * add numeric argument for `/clear` command (buffer number) (patch #5372)
7b053b7c 3046 * add new key (kbd:[Ctrl+r]) for interactive and incremental search in buffer history (task #6628)
6aa94c08 3047
7b053b7c 3048Bug fixes::
f23b6be1 3049
6aa94c08
SH
3050 * fix color bug with IRC messages displayed by plugins (bug #19442)
3051 * fix topic charset, now using channel charset if defined (bug #19386)
3052 * fix crash when closing a pv if a DCC chat is open on same nick (bug #19147)
3053 * fix bug with channel topic after reconnection (not erased) (bug #19384)
3054 * fix bug with explode_string / free_exploded_string when max_items > 0
fae6bbb4 3055 * fix `/topic` completion when no topic set on current channel (bug #19322)
6aa94c08 3056 * fix bug with server buffer when "look_one_server_buffer" is ON and server buffer is moved to any number > 1 (bug #19219)
fae6bbb4 3057 * fix `/help` command: displays plugin help for redefined commands (bug #19166)
6aa94c08
SH
3058 * prefix "/" disabled in commands (patch #5769)
3059 * fix completion of redefined commands removed by plugins (bug #19176)
3060 * fix memory leaks in perl and python plugins (bug #19163)
3061 * fix permissions on "dcc" and "logs" directories (bug #18978)
fae6bbb4 3062 * fix crash when `/away` command is issued with no server connection (bug #18839)
6aa94c08
SH
3063 * fix crash when closing a buffer opened on many windows
3064 * fix freeze with SSL server when disconnecting after connection loss (bug #18735)
041b7549 3065
7b053b7c
SH
3066Documentation::
3067
3068 * add Scots quickstart guide
3069
951d1410 3070[[v0.2.3]]
5812564b 3071== Version 0.2.3 (2007-01-10)
041b7549 3072
7b053b7c 3073Bug fixes::
f23b6be1 3074
6aa94c08
SH
3075 * fix display bugs with nicklist at top/bottom when look_nicklist_separator is OFF (bug #18737)
3076 * fix iconv problem, causing truncated words when using iso locale
3077 * fix topic scroll when topic has multi-bytes chars
6aa94c08 3078 * fix bugs with charset: now decodes/encodes nicks and channels in IRC messages (bug #18716)
041b7549 3079
7b053b7c
SH
3080Build::
3081
3082 * fix compilation problem with iconv under FreeBSD
3083
951d1410 3084[[v0.2.2]]
5812564b 3085== Version 0.2.2 (2007-01-06)
041b7549 3086
6aa94c08 3087New features::
f23b6be1 3088
6aa94c08
SH
3089 * add anti-flood option (irc_anti_flood) (task #5442)
3090 * plugins: "add_message_handler" now accepts "*" for all IRC messages
3091 * add keys (kbd:[F9] / kbd:[F10]) to scroll topic (task #6030)
3092 * add auto completion with channels and filenames (task #5423)
3093 * add option "look_nicklist_separator" (task #5437)
3094 * add "irc_send_unknown_commands" option to send unknown commands to IRC server (OFF by default) (task #5947)
fae6bbb4 3095 * `/charset` command and charset conversions now made by "charset" plugin
6aa94c08
SH
3096 * add filename completion (task #5425)
3097 * add "modifier" in plugins API
fae6bbb4 3098 * improve `/plugin` command
e473161c 3099 * add date in plugin function get_buffer_data
6aa94c08
SH
3100 * add more values for config boolean values: y/true/t/1 and n/false/f/0
3101
7b053b7c 3102Bug fixes::
f23b6be1 3103
6aa94c08
SH
3104 * fix bug with status bar (missing refresh) when closing a buffer
3105 * fix bug with use of first buffer for a channel if not connected to server (now allowed only for a server buffer)
3106 * fix refresh bug with private buffer title
3107 * fix bug with nick completion in command arguments (now uses option look_nick_completion_ignore)
3108 * fix display bug with color for first line on screen (bug #17719)
e473161c 3109 * fix bug with set_config function in plugins API (bug #18448)
6aa94c08
SH
3110 * fix memory leak in keyboard input
3111 * fix refresh bug when changing config options if window is split
3112 * add space between chat and nicklist when position is "right" (bug #17852)
3113 * fix bug with DCC SEND when filename begins with "~"
3114 * fix display bug in status bar, wrong length when using UTF-8
3115 * fix bug with ignore: now any IRC command is allowed
3116 * fix crash with kbd:[Ctrl+t] (transpose) and one char on line (bug #18153)
3117 * fix bug on ignore with "mode" IRC command (bug #18058)
ef419981 3118 * fix crash when loading ruby script if file does not exist, with Ruby ≥ 1.9 only (bug #18064)
fae6bbb4
SH
3119 * mode changes with `/op`, `/deop`, `/voice`, `/devoice`, `/halfop`, `/dehalfop` are now sent in one mode command to server (task #5968)
3120 * fix bug with `/alias` and arguments (like $1), now text after argument(s) is used (bug #17944)
6aa94c08 3121 * fix minor display bug with special chars on some arch like PPC
041b7549 3122
7b053b7c
SH
3123Build::
3124
3125 * fix some portability bugs (patch #5271)
3126 * fix iconv detection for BSD (patch #5456)
3127 * fix typo in configure.in (bash specific test) (patch #5450)
3128
951d1410 3129[[v0.2.1]]
8506fa95
SH
3130== Version 0.2.1 (2006-10-01)
3131
6aa94c08 3132New features::
f23b6be1 3133
fae6bbb4 3134 * command `/away -all` now allowed when not connected to current server
6aa94c08
SH
3135 * new signals handled: SIGTERM and SIGHUP (received when terminal is closed): clean WeeChat quit (send quit to irc servers then quit WeeChat)
3136 * add some new default key bindings for existing keys (for some OS)
fae6bbb4
SH
3137 * command `/key` now OK with one argument (key name): display key if found
3138 * add current channel completion for `/ctcp` command
6aa94c08 3139 * values yes/no accepted (as on/off) for config boolean values (task #5454)
fae6bbb4 3140 * add server default notify level (set by `/buffer notify` on server buffer) (task #5634)
6aa94c08
SH
3141 * add special vars $nick/$channel/$server for server_command, alias and plugin command handlers
3142 * add arguments $1,$2,..,$9 and $* for alias (task #5831)
fae6bbb4 3143 * add hotlist in session file when using `/upgrade` command (task #5449)
6aa94c08 3144
7b053b7c 3145Bug fixes::
f23b6be1 3146
6aa94c08
SH
3147 * fix crash for DCC receiver when resuming a file (bug #17885)
3148 * fix DCC error for sender when receiver cancels DCC (bug #17838)
fae6bbb4 3149 * fix random crash with `/upgrade` command (error when loading buffers)
6aa94c08
SH
3150 * fix buffer search by server/channel: now if only channel is specified, a channel of another server can be found
3151 * fix highlight for DCC, invite and notice: when a window is displaying buffer, there's no highlight
3152 * fix bug with CTCP VERSION sent on channels (bug #17547)
e473161c 3153 * fix bugs in get_buffer_data which breaks the retrieval of buffer content (perl, lua)
6aa94c08
SH
3154 * fix nicklist display bug when top/bottom (not enough lines) (bug #17537)
3155 * fix bug with auto-rejoin of keyed channels (bug #17534)
3156 * add default nick completion when line starts with "//" (bug #17535)
fae6bbb4 3157 * fix crashes with `/buffer` and `/charset` commands when not connected to any server (bug #17525)
6aa94c08 3158 * fix nick refresh problem with unrealircd specific modes: chan owner (~) and chan admin (&) (bug #17340)
041b7549 3159
951d1410 3160[[v0.2.0]]
5812564b 3161== Version 0.2.0 (2006-08-19)
041b7549 3162
6aa94c08 3163New features::
f23b6be1 3164
6aa94c08
SH
3165 * add "C"lear option on IRC raw buffer
3166 * IRC raw buffer now uses join/part prefix with color to display messages
fae6bbb4 3167 * add send of "quit" message to server when using `/disconnect`
6aa94c08
SH
3168 * add "%m" for completion with self nick (on current server)
3169 * add missing IRC commands (310, 326, 329, 338)
3170 * 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)
3171 * add "look_save_on_exit" option (patch from Emanuele Giaquinta)
6aa94c08 3172 * add new functions in plugin/script API: get window info, get buffer info, get buffer content
fae6bbb4 3173 * add color encoding for some commands like `/me`
6aa94c08
SH
3174 * add aspell plugin
3175
7b053b7c 3176Bug fixes::
f23b6be1 3177
6aa94c08 3178 * fix "wallops" command when received, now displayed by WeeChat (bug #17441)
fae6bbb4
SH
3179 * fix `/wallops` command (now many words are correctly sent)
3180 * fix command 348 (channel exception list, received by `/mode #chan e`)
6aa94c08 3181 * add missing modes (channel & user), now all modes are allowed (bug #16606)
fae6bbb4 3182 * fix DCC restore after `/upgrade` (order is now correctly saved)
6aa94c08
SH
3183 * fix away after server disconnection (now away is set again when reconnecting) (bug #16359)
3184 * fix DCC file connection problem (connection from receiver to sender)
3185 * fix crash when purging DCC with high number of DCC (> window size)
3186 * fix completion for command handlers (now empty completion_template means nick completion, "-" string means no completion at all)
3187 * fix nick alignment problem when look_nickmode is off
3188 * add generic function for incoming numeric IRC commands (bug #16611)
fae6bbb4
SH
3189 * fix crash when doing `/part something` on a server buffer (bug #17201)
3190 * charsets are now checked when set by `/charset` command
6aa94c08
SH
3191 * fix crash on DCC buffer under Darwin 8 (bug #17115)
3192 * fix bug with spaces in script names (bug #16957)
3193 * fix random crash when "MODE #chan -l" is received
3194 * fix bug in IRC parser (random crash with malformed IRC messages)
5661b4da 3195 * fix refresh bugs when terminal is resized: too many refreshes, display bug with split windows
6aa94c08
SH
3196 * case ignored for channel names in charset options (bug #16858)
3197 * fix crash when setting look_one_server_buffer to ON (bug #16932)
3198 * fix display bug with special char (bug #16732)
3199 * rename plugins names (remove "lib" prefix in name)
3200 * fix crash when closing DCC/raw buffer if 2 are open (bug #16808)
3201 * fix crashes with DCC chat remove/purge on DCC view (bug #16775)
3202 * fix bug with connection to bnc (bug #16760)
fae6bbb4 3203 * command `/save` now writes plugins options (~/.weechat/plugins.rc)
e473161c 3204 * fix crash with register function in plugin scripts (bug #16701)
fae6bbb4 3205 * fix random crash at exit (`/quit` or `/upgrade`) with split windows
041b7549 3206
7b053b7c
SH
3207Documentation::
3208
3209 * add Polish, Russian and Czech quickstart guide
3210
3211Build::
3212
3213 * add configure option for doc XSL prefix (bug #16991)
3214
951d1410 3215[[v0.1.9]]
5812564b 3216== Version 0.1.9 (2006-05-25)
041b7549 3217
6aa94c08 3218New features::
f23b6be1 3219
6aa94c08
SH
3220 * add backtrace when WeeChat crashes, log file automatically renamed
3221 * add new key to find previous completion (kbd:[Shift+Tab] by default)
6aa94c08
SH
3222 * add missing IRC commands (006, 007, 290, 292, 310, 379, 437, 974)
3223 * add new option to customize input prompt
3224 * add nick modes
fae6bbb4 3225 * add hostnames associated to nicks (available for `/ban` completion)
6aa94c08
SH
3226 * add "+p" mode for channels, fix mode display in status bar
3227 * add nick alignment options
3228 * add keyboard handler to plugin API
3229 * improve script plugin loader
3230 * add hostname/IP option for connection to server
fae6bbb4
SH
3231 * add `/setp` command (set plugin options)
3232 * aliases are executed before WeeChat/IRC commands, add `/builtin` command
3233 * add `/cycle` command, `/part` command does close buffer any more
6aa94c08 3234
7b053b7c
SH
3235Internationalization::
3236
3237 * add Russian translations (thanks to Pavel Shevchuk)
3238
3239Bug fixes::
f23b6be1 3240
fae6bbb4
SH
3241 * fix `/squery` command (message sent to server, now OK with more than two arguments)
3242 * fix `/alias` command (with an alias name, display content)
6aa94c08
SH
3243 * add lock for log file (~/.weechat/weechat.log), only one WeeChat process can use this file (bug #16382)
3244 * fix crash with malformed UTF-8 strings
3245 * fix crash with ncurses color when too many colors defined in ncurses (bug #16556)
3246 * fix bug with long outgoing IRC messages (> 512 bytes) (bug #16358)
3247 * fix Ruby crash when handler does not return OK or KO (bug #16552)
3248 * fix UTF-8 display bug with chars using more than one cell on screen (bug #16356)
3249 * fix display bug with DCC file size when > 1 GB
3250 * fix refresh bug (deadlock in curses) when terminal is resized (bug #16542)
3251 * fix nicklist sort bug
3252 * 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)
fae6bbb4
SH
3253 * command `/clear [-all]` now clears hotlist
3254 * fix crash after `/upgrade` if a line in history is empty (bug #16379)
6aa94c08 3255 * fix many crashes with DCC chat (bug #16416)
fae6bbb4 3256 * fix commands 332, 333 (`/topic` now OK when channel is not opened)
6aa94c08 3257 * remove color encoding and charset conversion for commands (only allowed in text sent to channel/private)
fae6bbb4 3258 * fix `/names` command: now displays result when not on a channel
6aa94c08
SH
3259 * fix refresh bug (too many refresh) when terminal is resized
3260 * fix nicklist display bugs when on top or bottom of chat window
6aa94c08 3261 * fix high CPU usage when running under a Screen that has been killed
041b7549 3262
7b053b7c
SH
3263Documentation::
3264
3265 * add German doc (thanks to Frank Zacharias)
3266
3267Build::
3268
3269 * fix --disable-plugins option in configure script
3270 * improve Lua detection (bug #16574)
3271
951d1410 3272[[v0.1.8]]
5812564b 3273== Version 0.1.8 (2006-03-18)
041b7549 3274
6aa94c08 3275New features::
f23b6be1 3276
6aa94c08
SH
3277 * improve alias completion (now uses target command for completion)
3278 * add missing IRC command (487)
3279 * add inactivity time, available for plugins via get_info("inactivity")
3280 * add keys kbd:[Alt+Home] / kbd:[Alt+End] to scroll top/bottom, kbd:[Alt+F11] / kbd:[Alt+F12] to scroll nicklist top/bottom
3281 * add special names for plugin message handlers: weechat_pv, weechat_highlight, weechat_ctcp, weechat_dcc
3282 * add IRC raw data buffer (new key: kbd:[Alt+j], kbd:[Alt+r])
e473161c 3283 * add new plugins functions: add_timer_handler, remove_timer_handler, remove_infobar
fae6bbb4 3284 * plugin messages handlers now called when message is ignored (by `/ignore`)
6aa94c08
SH
3285 * new behavior for messages ignored by a message handler: now WeeChat executes standard handler, treating message as "ignored"
3286 * many commands allowed for aliases
3287 * many commands allowed when connecting to server
3288 * add Lua script plugin
e473161c 3289 * add functions in plugins API: get_server_info, free_server_info, get_channel_info, free_channel_info, get_nick_info, free_nick_info
6aa94c08
SH
3290 * add option "look_nick_complete_first" (patch from Gwenn)
3291 * add option "look_open_near_server" (patch from Gwenn)
3292 * add new scroll keys for a few lines up/down (default: kbd:[Alt+PgUp] / kbd:[Alt+PgDn]) (patch from Pistos)
3293 * add new option "irc_away_check_max_nicks" to disable away check on channels with high number of nicks (patch from Gwenn)
3294 * add new command line argument for setting WeeChat home dir (-d or --dir) (patch from Gwenn)
3295 * add option "irc_show_away_once", to show away message only once in pv
7b053b7c
SH
3296
3297Internationalization::
3298
6aa94c08
SH
3299 * add partial Hungarian translations
3300
7b053b7c 3301Bug fixes::
f23b6be1 3302
6aa94c08 3303 * improve Ruby plugin
fae6bbb4 3304 * fix `/set` command when internal server name contains one or many dots
6aa94c08
SH
3305 * fix get_info plugin API function when no server at all is opened
3306 * fix display bug when top of buffer is displayed and first line is removed (according to "history_max_lines" setting)
fae6bbb4 3307 * fix `/mode` command output
6aa94c08
SH
3308 * fix completion problem in private with nicks
3309 * script plugins now load scripts in WeeChat system share directory
fae6bbb4 3310 * `/msg` command does not open any buffer any more
6aa94c08 3311 * fix crash when using global history (when older entry is removed)
fae6bbb4
SH
3312 * fix display bug with `/kill` command
3313 * fix bug with `/upgrade` and servers buffer
e473161c 3314 * fix bug with get_dcc_info plugin interface function
6aa94c08
SH
3315 * fix bug with charset in infobar highlights
3316 * fix bug with buffer detection in plugins/scripts commands
fae6bbb4 3317 * fix bug with `/history` command
041b7549 3318
951d1410 3319[[v0.1.7]]
5812564b 3320== Version 0.1.7 (2006-01-14)
041b7549 3321
6aa94c08 3322New features::
f23b6be1 3323
fae6bbb4 3324 * 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)
6aa94c08
SH
3325 * add color for window separators (when split)
3326 * add completion system for plugins/scripts commands
fae6bbb4 3327 * add charset by server and channel, new command: `/charset`
6aa94c08 3328 * add Ruby script plugin
fae6bbb4 3329 * add `/upgrade` command
6aa94c08 3330 * add ETA (Estimated Time of Arrival) for DCC files
fae6bbb4
SH
3331 * `/nick` command is now allowed when not connected to server
3332 * add server/channel argument to `/buffer` command for jumping to buffer
6aa94c08
SH
3333 * add new keys for switching to other windows: kbd:[Alt+w], kbd:[Alt+Arrow]
3334 * add new keys for scrolling to previous/next highlight: kbd:[Alt+p] / kbd:[Alt+n]
3335 * add "read marker": an indicator for first unread line in a server or channel buffer (new key kbd:[Alt+u] to scroll to marker)
3336 * new window management: custom size for windows, auto resize when terminal is resized
fae6bbb4 3337 * add `/history` command
6aa94c08 3338
7b053b7c 3339Bug fixes::
f23b6be1 3340
6aa94c08
SH
3341 * fix msg command (now allowed in private buffer with "*" as target)
3342 * fix refresh bug with Solaris when term size is changed
3343 * fix plugins autoload
3344 * fix display bug in chat window when a message length equals to window width
3345 * fix infinite loop when resizing term to small size
8506fa95 3346
7b053b7c
SH
3347Build::
3348
3349 * replace Texinfo doc by XML Docbook
3350
951d1410 3351[[v0.1.6]]
5812564b 3352== Version 0.1.6 (2005-11-11)
041b7549 3353
6aa94c08 3354New features::
f23b6be1 3355
6aa94c08
SH
3356 * new color management system, IRC colors are now correctly displayed and can be removed by new options irc_colors_receive and irc_colors_send
3357 * add setting for having one server buffer for all servers (look_one_server_buffer)
3358 * add setting for ignoring some chars when completing nicks
3359 * signal SIGPIPE is now ignored
3360 * add partial match for highlights
3361 * add dcc_own_ip and dcc_port_range settings
3362 * full UTF-8 support, auto-detection of UTF-8 usage (locale)
3363 * add "Day changed to [date]" message when day changes
3364 * new plugin interface, rewritten from scratch: now loads dynamic C library, and perl/python are script plugins
3365 * log options (for server/channel/private) can now be set while WeeChat is running
3366 * add channel modes +e and +f
3367 * add some missing IRC commands, fix command 367
3368 * add colors for input buffer and current channel of status bar
fae6bbb4 3369 * add online help for config options (with `/set` full_option_name)
6aa94c08
SH
3370 * enhanced "smart" hotlist, with names (new options: look_hotlist_names_{count|level|length})
3371
7b053b7c 3372Bug fixes::
f23b6be1 3373
6aa94c08
SH
3374 * fix scroll problem when one line is bigger than screen size
3375 * fix IRC message parser bug
8506fa95 3376
951d1410 3377[[v0.1.5]]
5812564b 3378== Version 0.1.5 (2005-09-24)
041b7549 3379
6aa94c08 3380New features::
f23b6be1 3381
fae6bbb4 3382 * add `/ame` command (send CTCP action to all channels of all connected servers)
6aa94c08
SH
3383 * add setting "irc_notice_as_pv" to see notices as pv
3384 * add nicks colors in setup file
3385 * add some missing IRC commands
fae6bbb4 3386 * add `/ignore` and `/unignore` commands
6aa94c08
SH
3387 * signal SIGQUIT is now ignored
3388 * jump to next server now saves current channel buffer for each server
3389 * add keys kbd:[Ctrl+Up] / kbd:[Ctrl+Down] to call previous/next command in global history (common to all buffers)
3390
7b053b7c 3391Bug fixes::
f23b6be1 3392
6aa94c08
SH
3393 * fix DCC bug: delete failed file only if really empty (on disk)
3394 * fix IRC message parser bug
3395 * fix scroll problem (screen moving when scrolling and new line displayed)
3396 * fix infinite loop when scrolling back and displaying long lines
3397 * fix crash when closing a buffer used by more than one window
3398 * fix DCC display bug (now decodes string according to charset)
3399 * fix bug with strings comparison (str[n]casecmp) and some locales (like Turkish), now using ASCII comparison (thanks to roktas)
3400 * fix refresh bug when one line is bigger than screen size
3401 * fix look_nicklist_min_size and look_nicklist_max_size options
3402 * fix refresh bug when changing channel modes
041b7549 3403
951d1410 3404[[v0.1.4]]
5812564b 3405== Version 0.1.4 (2005-07-30)
041b7549 3406
6aa94c08 3407New features::
f23b6be1 3408
6aa94c08
SH
3409 * join and part/quit prefixes (arrows) now displayed with different colors
3410 * add "irc_highlight" setting, to get highlight with any word
fae6bbb4 3411 * add `/amsg` command (send text to all channels of all connected servers)
6aa94c08
SH
3412 * add color for private in hotlist (different than color for highlight)
3413 * add DCC resume and timeout
3414 * add function for Perl/Python to get DCC list
fae6bbb4 3415 * 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)
6aa94c08 3416 * add seconds in infobar time (optional thanks to new setting)
fae6bbb4 3417 * add auto-prefix with "#" for channels (if no prefix found), with `/join` command
6aa94c08 3418
7b053b7c 3419Bug fixes::
f23b6be1 3420
6aa94c08 3421 * fix auto-rejoin for channels with key
fae6bbb4 3422 * fix `/ctcp` command (now any command/data allowed)
6aa94c08
SH
3423 * fix SIGSEGV handler (now write a core file by aborting program)
3424 * fix statusbar & infobar background refresh problem with some systems
3425 * fix FIFO pipe (command now authorized on a buffer not connected to an IRC server)
3426 * topic completion now decodes UTF-8 string
3427 * fix bug with IRC URL on command line (irc://)
5661b4da 3428 * fix some curses refreshes
8506fa95 3429
951d1410 3430[[v0.1.3]]
5812564b 3431== Version 0.1.3 (2005-07-02)
041b7549 3432
6aa94c08 3433New features::
f23b6be1 3434
6aa94c08 3435 * proxy support (http, socks4, socks5) with authentication (http, socks5) and ipv6 support (client to proxy)
fae6bbb4 3436 * add completion for config option (with `/set` command)
6aa94c08
SH
3437 * commands from users outside channel now authorized (if special user or channel without "n" flag)
3438 * add IPv6 support
3439 * kill command now received and displayed
3440 * add SSL support
3441 * channel notify levels are saved in config file (new option "server_notify_levels" for server sections)
3442 * part message now accepts %v (replaced by WeeChat version), like quit message
3443
7b053b7c 3444Bug fixes::
f23b6be1 3445
6aa94c08
SH
3446 * errors while loading perl scripts are now displayed in server buffer (instead of current buffer)
3447 * in python scripts, all messages written in stdin and stderr are redirected in server buffer
3448 * fix a filename error while loading a python script manually
e473161c 3449 * fix plugins print and prnt functions: now OK for writing on server buffers
6aa94c08
SH
3450 * fix color problem with new libcurses version
3451 * fix crash when using kbd:[Alt+s] or kbd:[Alt+x] on DCC buffer (kbd:[Alt+d])
3452 * fix startup crash when config file (~/.weechat/weechat.rc) is not found
7b053b7c
SH
3453
3454Build::
3455
6aa94c08 3456 * improve Perl/Python libs detection for ./configure script
041b7549 3457
951d1410 3458[[v0.1.2]]
5812564b 3459== Version 0.1.2 (2005-05-21)
041b7549 3460
6aa94c08 3461New features::
f23b6be1 3462
6aa94c08
SH
3463 * add Python plugin support, improve Perl interface (and now Perl/Python libraries are checked by configure script)
3464 * add nicklist scroll keys (kbd:[Alt+Home] / kbd:[Alt+End] / kbd:[Alt+PgUp] / kbd:[Alt+PgDn] or kbd:[F11] / kbd:[F12])
3465 * add transfer rate for DCC files
fae6bbb4 3466 * add `-all` option for `/nick` command
6aa94c08 3467 * buffers timestamp can now be changed (new option in config file)
6aa94c08 3468 * add missing IRC commands (307, 341, 485, 671)
8506fa95 3469
7b053b7c 3470Bug fixes::
f23b6be1 3471
6aa94c08
SH
3472 * fix nicklist sort
3473 * fix crash when purging old DCC
3474 * fix crash with 64-bits arch (like AMD64) when converting UTF-8
041b7549 3475
7b053b7c
SH
3476Build::
3477
d26380a9 3478 * WeeChat now OK under *BSD and macOS
7b053b7c 3479
951d1410 3480[[v0.1.1]]
5812564b 3481== Version 0.1.1 (2005-03-20)
041b7549 3482
6aa94c08 3483New features::
f23b6be1 3484
6aa94c08
SH
3485 * add nicks count for channel buffers
3486 * add FIFO pipe for remote control
3487 * add crash dump when WeeChat receives SIGSEGV (Segmentation fault)
3488 * add new display engine: doesn't cut words at end of lines
3489 * add DCC send and DCC chat
fae6bbb4
SH
3490 * add `/halfop` and `/dehalfop` commands, fix halfop display bug in nicklist
3491 * add `/ban`, `/unban` and `/kickban` commands
6aa94c08
SH
3492 * add --irc-commands and --weechat-commands command line options
3493 * connection to IRC server is now made by child process (non blocking)
3494 * add support for UnrealIrcd ("~" for chan owner, "&" for chan admin)
3495 * new key for window switch (now: kbd:[F5] / kbd:[F6] = switch buffer, kbd:[F7] / kbd:[F8] = switch window)
3496 * on server buffer, only server messages are logged
fae6bbb4 3497 * improve `/help` command output
6aa94c08
SH
3498 * plugins messages are logged with new config option (log_plugin_msg)
3499
7b053b7c
SH
3500Internationalization::
3501
3502 * add Spanish translations
3503
3504Bug fixes::
f23b6be1 3505
fae6bbb4
SH
3506 * fix `/kick` command
3507 * fix `/invite` command (and now invite requests are displayed)
3508 * fix `/buffer close` command (now OK when disconnected from server)
6aa94c08 3509 * fix display bugs when many windows are opened
041b7549 3510
951d1410 3511[[v0.1.0]]
5812564b 3512== Version 0.1.0 (2005-02-12)
041b7549 3513
6aa94c08 3514New features::
f23b6be1 3515
fae6bbb4 3516 * improve `/window` command: now split and merge are OK
6aa94c08
SH
3517 * away nicks are now displayed with another color (new option: "irc_away_check")
3518 * add away indicator in status bar
3519 * add lag indicator (and auto-disconnect after a delay if important lag)
3520 * improve completion: now completes commands arguments (IRC and internal), when only one completion matches, completion mechanism is stopped (to complete command argument for example)
fae6bbb4 3521 * improve `/set` command: empty strings are allowed, new colors, server options can be changed while WeeChat is running
6aa94c08
SH
3522 * add default away/part/quit messages in config file
3523 * new [irc] section in config file, move option "look_display_away" to "irc_display_away"
3524 * server messages & errors are all prefixed (by 3 chars, like "-@-")
3525 * add new options for charset (UTF-8 support): look_charset_decode, look_charset_encode and look_charset_internal
3526
7b053b7c 3527Bug fixes::
f23b6be1 3528
6aa94c08
SH
3529 * fix many memory leaks
3530 * fix colors bug: remove "gray" color (replaced by "default"), colors are OK when terminal has white (or light) background
3531 * fix crash when resizing terminal to small size
3532 * fix crash when multiple servers and big messages received from server
3533 * fix crash when closing some private buffers
3534 * fix crash when unknown section with option(s) in config file
fae6bbb4
SH
3535 * fix `/op`, `/deop`, `/voice`, `/devoice` (now OK with many nicks)
3536 * fix `/me` command (now OK without parameter)
3537 * fix `/away` command (now OK if not away)
6aa94c08 3538 * logs are now disabled by default (server/channel/private)
041b7549 3539
951d1410 3540[[v0.0.9]]
5812564b 3541== Version 0.0.9 (2005-01-01)
041b7549 3542
6aa94c08 3543New features::
f23b6be1 3544
6aa94c08 3545 * auto-reconnection to server (new options: server_autoreconnect (on/off), server_autoreconnect_delay (in seconds))
fae6bbb4 3546 * new command `/buffer close` (close any server/channel/private buffer)
6aa94c08
SH
3547 * 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)
3548 * add new config option: "server_command_delay" (delay in seconds after startup command for each server)
8506fa95 3549
7b053b7c 3550Bug fixes::
f23b6be1 3551
6aa94c08
SH
3552 * 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)
3553 * option "look_remove_colors_from_msgs" is now working
3554 * fix display of nick mode changes
fae6bbb4 3555 * fix `/notice` command (and display when received from server)
8506fa95 3556
951d1410 3557[[v0.0.8]]
5812564b 3558== Version 0.0.8 (2004-10-30)
041b7549 3559
6aa94c08 3560New features::
f23b6be1 3561
6aa94c08
SH
3562 * nickserv passwords hidden (new config option: log_hide_nickserv_pwd on/off)
3563 * auto-rejoin channels when kicked (new config option: server_autorejoin on/off)
3564 * add IRC::command function for Perl scripts
fae6bbb4 3565 * `/buffer` command developed (buffers list, move and notify)
6aa94c08
SH
3566 * logging buffers to disk (server/channel/private according to user preferences)
3567 * add config option "look_display_away" to announce away in channels
3568 * DCC file receive OK (kbd:[Alt+d] for DCC view)
a599e032
SH
3569 * add key kbd:[Ctrl+l] (`L`) for redrawing terminal
3570 * add key kbd:[Alt+r] for clearing hotlist
6aa94c08 3571
7b053b7c 3572Bug fixes::
f23b6be1 3573
fae6bbb4 3574 * fix `/kick` command: now OK with many words as reason
6aa94c08
SH
3575 * fix bug when adding alias with same name as other
3576 * fix crash when resizing terminal to very small size
3577 * "-MORE-" message is now erased when switching to another buffer
fae6bbb4 3578 * `/query` command now reopens private buffer if already opened
8506fa95 3579
951d1410 3580[[v0.0.7]]
5812564b 3581== Version 0.0.7 (2004-08-08)
041b7549 3582
6aa94c08 3583New features::
f23b6be1 3584
6aa94c08 3585 * new "col_status_delimiters" config option
fae6bbb4
SH
3586 * add command `/buffer`, buffers ordered by number, auto-jump to active buffers (kbd:[Alt+a]), jump to buffers by number (kbd:[Alt+0...9])
3587 * add command `/window`, split terminal horizontally/vertically
6aa94c08
SH
3588 * unique color for each nick (based on nickname)
3589 * add history limit (text buffer and commands)
8506fa95 3590
7b053b7c 3591Bug fixes::
f23b6be1 3592
6aa94c08
SH
3593 * action messages are now considered as messages, not crappy joins/parts
3594 * fix display bug when nicklist is displayed at bottom of screen
7b053b7c
SH
3595
3596Build::
3597
6aa94c08 3598 * replace --enable-debug with --with-debug option for ./configure
041b7549 3599
951d1410 3600[[v0.0.6]]
5812564b 3601== Version 0.0.6 (2004-06-05)
041b7549 3602
6aa94c08 3603New features::
f23b6be1 3604
6aa94c08 3605 * improve channel highlight (priority to message vs join/part)
fae6bbb4 3606 * add command `/query` (starts private conversation)
6aa94c08 3607 * add IRC messages 476, 477
8506fa95 3608
7b053b7c 3609Bug fixes::
f23b6be1 3610
6aa94c08 3611 * fix bug when opened private win and remote user changes his nick
fae6bbb4 3612 * `/mode` command is now OK and channel flags are displayed in status bar
6aa94c08
SH
3613 * fix display bug (text was blinking when scrolling)
3614 * CTCP Version reply is now in English only and doesn't show host (security reason)
041b7549 3615
951d1410 3616[[v0.0.5]]
5812564b 3617== Version 0.0.5 (2004-02-07)
041b7549 3618
6aa94c08 3619New features::
f23b6be1 3620
fae6bbb4 3621 * `/set` command to modify config options when WeeChat is running
6aa94c08
SH
3622 * URL command line parameter to connect to server(s)
3623 * new Perl script function to display message in info bar ("IRC::print_infobar")
3624 * info bar highlight notifications
3625 * add info bar timestamp in config ("look_infobar_timestamp")
3626 * add info bar (optional, "look_infobar" to enable it, "on" by default)
3627 * add -c (or --config) command line parameter to see config file options
3628
7b053b7c 3629Bug fixes::
f23b6be1 3630
6aa94c08
SH
3631 * fix look_nicklist config option, now enables/disables nicklist
3632 * secure code to prevent buffer overflows and memory leaks
3633 * fix QUIT IRC command: now sent to all connected servers (not only current)
fae6bbb4 3634 * fix crash with `/oper` command
6aa94c08
SH
3635 * for default config file, nick is now based on un*x username
3636 * fix crash when config file cannot be written
3637 * add highlight on action messages
041b7549 3638
951d1410 3639[[v0.0.4]]
5812564b 3640== Version 0.0.4 (2004-01-01)
041b7549 3641
6aa94c08 3642New features::
f23b6be1 3643
6aa94c08 3644 * add Perl plugin
8506fa95 3645
7b053b7c 3646Bug fixes::
f23b6be1 3647
6aa94c08
SH
3648 * fix switch to private buffer
3649 * add highlight when our nick is written in a channel/private window
3650 * catch kbd:[Ctrl+c] (ignored)
041b7549 3651
7b053b7c
SH
3652Build::
3653
3654 * debug messages can be enabled via ./configure --enable-debug option
3655
951d1410 3656[[v0.0.3]]
5812564b 3657== Version 0.0.3 (2003-11-03)
041b7549 3658
6aa94c08 3659New features::
f23b6be1 3660
6aa94c08 3661 * 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
8506fa95 3662
7b053b7c
SH
3663Internationalization::
3664
3665 * add French translations
3666
3667Bug fixes::
f23b6be1 3668
6aa94c08
SH
3669 * for sort of nicks (op, halfop, voice, other)
3670 * fix problem with "353" IRC message (nicklist)
3671 * fix problem when nick is truncated by server
3672 * fix crash when entering text without any server connection
fae6bbb4 3673 * fix crash when `/set` command is executed
6aa94c08
SH
3674 * fix display bug (text was blinking when scrolling)
3675 * code cleanup
041b7549 3676
7b053b7c
SH
3677Build::
3678
3679 * add ./configure script to build WeeChat
3680
951d1410 3681[[v0.0.2]]
5812564b 3682== Version 0.0.2 (2003-10-05)
041b7549 3683
6aa94c08 3684New features::
f23b6be1 3685
fae6bbb4 3686 * add commands `/rehash` and `/restart`
6aa94c08 3687 * and command and auto-join channels when connected to server
fae6bbb4
SH
3688 * new commands for alias: `/alias`, `/unalias` (new section in config file)
3689 * config is now saved automatically when quitting WeeChat, add `/save` command
3690 * new commands for servers: `/server`, `/connect`, `/disconnect`
6aa94c08
SH
3691 * add autoconnect flag for each server in config file
3692 * add "look_set_title" option in config file
3693 * term window title is modified with WeeChat name and version
3694 * CTCP version returns more info (about OS)
3695
7b053b7c 3696Bug fixes::
f23b6be1 3697
6aa94c08
SH
3698 * fix nicklist display bug
3699 * fix crash when sending command which can only be received
041b7549 3700
951d1410 3701[[v0.0.1]]
5812564b 3702== Version 0.0.1 (2003-09-27)
041b7549 3703
6aa94c08 3704New features::
f23b6be1 3705
6aa94c08
SH
3706 * ncurses GUI with color output
3707 * multi-servers
3708 * channel windows, with nicklist (position: top, bottom, left or right)
3709 * private windows
3710 * 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
3711 * WeeChat commands: clear, help, set (partial)
3712 * many config options
3713 * log file (~/.weechat/weechat.log)
3714 * nicklist can be moved on top, bottom, left or right of window