]> jfr.im git - irc/weechat/weechat.git/blame - ReleaseNotes.adoc
[WIP] javascript: add compatibility with v8 version 6.8
[irc/weechat/weechat.git] / ReleaseNotes.adoc
CommitLineData
5812564b 1= WeeChat Release Notes
ac820639
SH
2:author: Sébastien Helleu
3:email: flashcode@flashtux.org
4:lang: en
7d3d56cc
SH
5:toc: left
6:docinfo1:
6394a3d1
SH
7
8
cecb546c 9This document lists important changes for each version, that require manual
7115f830 10actions (the latest formatted version of this document can be found
0cd2aff7 11https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[here]). +
7115f830 12It is recommended to read it when upgrading to a new stable
6394a3d1
SH
13version.
14
cecb546c 15For a complete list of changes, please look at
0cd2aff7 16https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
b7bdbbdc 17(file _ChangeLog.adoc_ in sources).
b9a04242 18
2a37b44a 19
7b1b482c
SH
20[[v3.1]]
21== Version 3.1 (under dev)
22
23[[v3.1_command_buffer_listvar]]
24=== List of buffer local variables
25
26The command `/buffer localvar` has been renamed to `/buffer listvar`.
27
28The option `localvar` is still supported to stay compatible with scripts
29calling it or referencing it in the documentation. +
30It is deprecated and will be removed in a future release.
31
32New options `setvar` and `delvar` were also added in command `/buffer`,
33see `/help buffer`.
34
e0e905ca 35[[v3.0]]
72936fd3 36== Version 3.0 (2020-11-11)
e0e905ca 37
3c987f3a
SH
38[[v3.0_script_option_download_enabled]]
39=== New option to enable download of scripts
40
41A new option has been added to allow the script plugin to download the list of
42scripts and the scripts themselves (on weechat.org by default).
43
44This option is `off` by default, so you must opt in if you want to use the
45`/script` command, even if you upgraded from an old WeeChat version:
46
47----
48/set script.scripts.download_enabled on
49----
50
51[NOTE]
52When this option is enabled, WeeChat can sometimes download again the list of
53scripts when you use the `/script` command, even if you don't install a script.
54
84e30438
SH
55[[v3.0_irc_commands_allchan_allpv_allserv]]
56=== IRC commands /allchan, /allpv and /allserv
57
58The command and arguments given to commands `/allchan`, `/allpv` and `/allserv`
59are now evaluated (see /help on the commands for more information).
60
61Additionally, a breaking change has been introduced: the leading `/` is now
62required in these commands, so this allows to send text to buffers without
63using the command `/msg * xxx`.
64
65So with previous releases, to say "hello" on all channels:
66
67----
68/allchan msg * hello
69----
70
71Now it can be done like this:
72
73----
74/allchan hello
75----
76
77If you want to use a command, you must add explicitly the leading `/`:
78
79----
80/allchan /msg * hello
81----
82
e0e905ca
SH
83[[v3.0_trigger_beep]]
84=== Default "beep" trigger
85
86The command of "beep" trigger is now executed only if the message does NOT
87contain the tag "notify_none" (in addition to existing conditions).
88
89You can restore the default "beep" trigger with the following command:
90
91----
92/trigger restore beep
93----
94
8bdd540d 95[[v2.9]]
c096750e 96== Version 2.9 (2020-07-18)
8bdd540d 97
b0ecbdbf
SH
98[[v2.9_bar_color_bg_inactive]]
99=== New background color for inactive bars
100
101A new option has been added in bar: _color_bg_inactive_. It is used for window
102bars, when the window is not the active window.
103
104By default this color is set to "default" for default bars, except for status
105and title: the color is set to "darkgray".
106
107If you upgrade from a previous release, the color will be "default" for all
108bars, so if you want to use the new default settings, you can do:
109
110----
111/set weechat.bar.title.color_bg_inactive darkgray
112/set weechat.bar.status.color_bg_inactive darkgray
113----
114
115If you changed the option _color_bg_ in some bars, you should also adjust
116the new option _color_bg_inactive_, depending on your needs.
117
118The function "bar_new" in API is updated, so this is an incompatible change:
119all plugins and scripts calling this function must be updated.
120
121The following scripts are updated consequently to be compatible with all
122WeeChat versions:
123
124* https://weechat.org/scripts/source/buddylist.pl/[buddylist.pl] 2.0
125* https://weechat.org/scripts/source/buffers.pl/[buffers.pl] 5.7
126* https://weechat.org/scripts/source/chanmon.pl/[chanmon.pl] 2.6
127* https://weechat.org/scripts/source/chanop.py/[chanop.py] 0.3.2
128* https://weechat.org/scripts/source/highmon.pl/[highmon.pl] 2.7
129* https://weechat.org/scripts/source/iset.pl/[iset.pl] 4.4
130* https://weechat.org/scripts/source/menu.pl/[menu.pl] 1.0
131* https://weechat.org/scripts/source/moc_control.py/[moc_control.py] 1.9
132* https://weechat.org/scripts/source/newsbar.pl/[newsbar.pl] 0.19
133* https://weechat.org/scripts/source/pv_info.pl/[pv_info.pl] 0.0.6
134* https://weechat.org/scripts/source/rssagg.pl/[rssagg.pl] 1.2
135* https://weechat.org/scripts/source/urlbar.py/[urlbar.py] 14
136* https://weechat.org/scripts/source/urlselect.lua/[urlselect.lua] 0.5
137* https://weechat.org/scripts/source/vimode.py/[vimode.py] 0.8
138
35053240
SH
139[[v2.9_modifier_weechat_print]]
140=== New modifier_data for modifier "weechat_print"
141
142The modifier "weechat_print" has been fixed and the content of "modifier_data"
143sent to the callback has changed (see issue #42).
144
72dbae0d
SH
145This is an incompatible change, therefore all plugins, scripts and triggers
146using this modifier and the "modifier_data" argument must be updated.
35053240
SH
147
148The old format contained plugin name + ";" + buffer name + ";" + tags:
149
150----
151irc;freenode.#weechat;tag1,tag2,tag3
152----
153
154The new format contains buffer pointer + ";" + tags:
155
156----
1570x123abc;tag1,tag2,tag3
158----
159
160The following scripts are updated consequently to be compatible with all
161WeeChat versions:
162
163* https://weechat.org/scripts/source/colorize_lines.pl.html/[colorize_lines.pl] 3.9
164* https://weechat.org/scripts/source/colorize_nicks.py/[colorize_nicks.py] 27
165* https://weechat.org/scripts/source/colorizer.rb/[colorizer.rb] 0.2
166* https://weechat.org/scripts/source/curiousignore.pl/[curiousignore.pl] 0.4
167* https://weechat.org/scripts/source/format_lines.pl/[format_lines.pl] 1.6
168* https://weechat.org/scripts/source/identica.py/[identica.py] 0.4.3
169* https://weechat.org/scripts/source/mass_hl_blocker.pl/[mass_hl_blocker.pl] 0.2
170* https://weechat.org/scripts/source/noirccolors.py/[noirccolors.py] 0.4
171* https://weechat.org/scripts/source/parse_relayed_msg.pl/[parse_relayed_msg.pl] 1.9.3
172* https://weechat.org/scripts/source/unhighlight.py/[unhighlight.py] 0.1.3
173* https://weechat.org/scripts/source/weemoticons.py/[weemoticons.py] 0.3
174
88bef0b1
SH
175[[v2.9_api_completion_functions]]
176=== Move of API completion functions
177
178Completion functions have been added in WeeChat 2.9, to allow relay clients or
179plugins/scripts to complete a string, without using the buffer input.
180
181Therefore two functions have been renamed in API and moved to the new
182"completion" category:
183
184* function _hook_completion_get_string_ renamed to _completion_get_string_
185* function _hook_completion_list_add_ renamed to _completion_list_add_
186
187[NOTE]
188The old names are still valid for compatibility reasons, but it is recommended
189to use only the new names as the old ones may be removed in an upcoming release.
190
7f1aeae5
SH
191[[v2.9_gnutls_required_dependency]]
192=== GnuTLS is now a required dependency
e130ee73
SH
193
194The build options `ENABLE_GNUTLS` (in CMake) and `--disable-gnutls` (in autotools)
195have been removed. That means now GnuTLS is always compiled and used in WeeChat.
196
197Motivations:
198
199* communications encryption should be built-in, not optional
200* GnuTLS library should be available everywhere
201* reduce complexity of code and tests of builds.
202
0d126c44
SH
203[[v2.9_trigger_cmd_pass_remove_set_command]]
204=== The trigger "cmd_pass" does not hide any more values of /set command
9fa3609c 205
0d126c44
SH
206The default trigger "cmd_pass" does not hide any more values of options in `/set`
207command which contain "password" in the name.
9fa3609c 208
0d126c44
SH
209The reason is that it was masking values of options that contains the word
210"password" but the value is not a password and does not contain sensitive data,
211for example these options were affected:
9fa3609c 212
0d126c44
SH
213* irc.look.nicks_hide_password
214* relay.network.allow_empty_password
215* relay.network.password_hash_algo
216* relay.network.password_hash_iterations
9fa3609c 217
0d126c44
SH
218Since all real password options are now evaluated, it is recommended to use
219secure data to store the passwords ciphered in config file. +
220By using secure data, the passwords are never displayed on screen (even with
221`/set` command) nor written in log files.
9fa3609c 222
0d126c44 223For example you can do that:
9fa3609c 224
0d126c44
SH
225----
226/secure passphrase my_secret_passphrase
227/secure set freenode my_password
228/set irc.server.freenode.sasl_password "${sec.data.freenode}"
229----
9fa3609c 230
0d126c44
SH
231This will be displayed like that in WeeChat, using the new regex value of
232_cmd_pass_ trigger:
9fa3609c 233
0d126c44
SH
234----
235/secure passphrase ********************
236/secure set freenode ***********
237/set irc.server.freenode.sasl_password "${sec.data.freenode}"
238----
239
240If you want to use the new trigger regex after upgrade, you can do:
241
242----
243/trigger restore cmd_pass
244----
245
246If ever you prefer the old trigger regex, you can change it like that:
247
248----
249/set trigger.trigger.cmd_pass.regex "==^((/(msg|m|quote) +(-server +[^ ]+ +)?nickserv +(id|identify|set +password|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}"
250----
9fa3609c 251
8bdd540d
SH
252[[v2.9_trigger_command_eval]]
253=== Evaluation of trigger command arguments
254
255The arguments for a trigger command (except the command itself) are now evaluated.
256
257That means you can use for example new lines in the command description, like that:
258
259----
260/trigger add test command "test;test command;arg1 arg2;arg1: description 1${\n}arg2: description 2"
261----
262
263The command `/help test` will display this help in WeeChat:
264
265----
266[trigger] /test arg1 arg2
267
268test command
269
270arg1: description 1
271arg2: description 2
272----
273
0d126c44
SH
274[[v2.9_relay_weechat_protocol_handshake_nonce]]
275=== Add of handshake and nonce in weechat relay protocol
276
277==== Handshake
278
279A _handshake_ command has been added in weechat relay protocol. +
280The client should send this command before the _init_ to negotiate the way to
281authenticate with the relay server.
282
283See the link:weechat_relay_protocol.en.html#command_handshake[handshake command]
284in Relay protocol doc for more information.
285
286==== Server "nonce"
287
288Furthermore, a "nonce" is now generated for each client connecting and must be
289used by the client in case of hashed password in the _init_ command. +
290The goal is to prevent replay attacks in case someone manages to read exchanges
291between the client and relay.
292
293When hashing the password, the client must use salt composed by this nonce
294as binary (it is hexadecimal and must be base16-decoded), concatenated with
295a client nonce after this one. +
296So the hash is computed on: (`server nonce` + `client nonce` + `password`).
297
298This salt is now mandatory even for algorithms `SHA256` and `SHA512`; this is
299a breaking change in protocol, needed for security reasons.
300
301See the link:weechat_relay_protocol.en.html#command_init[init command]
302in Relay protocol doc for more information.
303
c29b45a0 304[[v2.8]]
7d5dc53c 305== Version 2.8 (2020-03-29)
c29b45a0
SH
306
307[[v2.8_auto_connection_to_servers]]
308=== Auto connection to servers
309
310The command line option `-a` (or `--no-connect`), which can also be used in the
311`/plugin` command, is now used to set a new info called `auto_connect`
312(see the function "info_get" in the Plugin API reference).
313
314Therefore, the option is not sent any more to the function `weechat_plugin_init`
315of plugins. +
316The plugins using this option must now get the info `auto_connect` and check
317if the value is "1" (a string with just `1`).
318
319The purpose of this change is to allow scripts as well to check this info on
320startup, and connect or not, depending on the value (see issue #1453).
321
322To be compatible with WeeChat ≤ 2.7, the script can do this, for example
323in Python:
324
325[source,python]
326----
327auto_connect = weechat.info_get("auto_connect", "") != "0"
328----
329
330The variable `auto_connect` will be set like that, depending on the WeeChat
331version:
332
333* WeeChat ≤ 2.7: always `True` because the info is an empty string (it does not
334 exist), which is different from "0",
335* WeeChat ≥ 2.8: `True` by default, and `False` if `-a` or `--no-connect` is
336 given by the user (either on command line or when loading the plugin).
337
ff4e9d6e
SH
338[[v2.7.1]]
339== Version 2.7.1 (2020-02-20)
340
341Bug fix and maintenance release.
342
0109c519 343[[v2.7]]
236dbe3f 344== Version 2.7 (2019-12-08)
0109c519
SH
345
346[[v2.7_cmake_errors]]
347=== CMake errors on missing dependencies
348
349When compiling WeeChat with CMake (which is the recommended way), errors are
4f7a51f7
SH
350now displayed on any missing dependency, if the optional feature was enabled
351(most features are automatically enabled, except documentation, man page and
352tests).
0109c519
SH
353
354Any error on a missing dependency is fatal, so WeeChat can not be compiled.
355This is a new behavior compared to old versions, where any missing dependency
356was silently ignored and the compilation was possible anyway.
357
358For example if PHP is not installed on your system, CMake will display an error
359on missing PHP library:
360
361----
362-- checking for one of the modules 'php7'
363CMake Warning at cmake/FindPHP.cmake:57 (message):
364 Could not find libphp7. Ensure PHP >=7.0.0 development libraries are
365 installed and compiled with `--enable-embed`. Ensure `php-config` is in
366 `PATH`. You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing
367 libphp7.
368Call Stack (most recent call first):
369 src/plugins/CMakeLists.txt:157 (find_package)
370
371
372CMake Error at src/plugins/CMakeLists.txt:161 (message):
373 Php not found
374----
375
376Then you can either install PHP or explicitly disable PHP if you don't need this
377plugin, using this cmake option:
378
379----
380cmake .. -DENABLE_PHP=OFF
381----
382
577a9322
SH
383[[v2.7_python3_callbacks_strings]]
384=== Strings received in Python 3 callbacks
385
386The strings sent to script callbacks in Python 3 are now automatically converted
387according to the content:
388
389* if the string is valid UTF-8, it is sent as `str` (legacy behavior)
390* if the string is not valid UTF-8, it is sent as `bytes` (new).
391
392In some cases only, the string may not be valid UTF-8, so it is received as
393`bytes` in the callback, which must take care of that.
394
395For more information, see the WeeChat scripting guide: chapter about strings
396received in callbacks (see also issue #1389).
397
398Note: there are no changes for Python 2 (which is now deprecated and should not
399be used any more), the strings sent to callbacks are always of type `str`, and
400may contain invalid UTF-8 data, in the cases mentioned in the WeeChat scripting
401guide.
402
39b6fb61
SH
403[[v2.7_irc_message_decoding]]
404=== IRC message decoding/encoding
405
406A new server option called "charset_message" has been added, replacing the
407option _irc.network.channel_encode_.
408
409This new server option has three possible values:
410
411* _message_ (default): the whole IRC message is decoded/encoded, this is the
412 new default behavior; in case of problem with channel names, try to use
413 _text_ instead
414* _channel_: the message is decoded/encoded starting at the channel name (or
415 the text if no channel is present); this is like setting the old option
416 _irc.network.channel_encode_ to _on_
417* _text_: the message is decoded/encoded starting from the text (for example
418 the user message); this is like setting the old option
419 _irc.network.channel_encode_ to _off_ (so this was the default behavior
420 in previous versions)
421
3c0bdc18
SH
422[[v2.7_xfer_file_receive_suffix]]
423=== Suffix for files received via DCC
424
425Files received via DCC (xfer plugin) now have a suffix ".part" during the
426transfer. When the transfer is successful, the suffix is removed.
427
428This suffix can be customized with the new option
429_xfer.file.download_temporary_suffix_.
430
431If you prefer the legacy behavior (no suffix added), you can set an empty value
432in the new option:
433
434----
435/set xfer.file.download_temporary_suffix ""
436----
437
789fa972 438[[v2.6]]
74778452 439== Version 2.6 (2019-09-08)
789fa972 440
0884c9b3
SH
441[[v2.6_python3_default]]
442=== Python 3 by default
443
444Python 3 is now used by default to compile the "python" plugin (no fallback
445on Python 2).
446
447The CMake option `ENABLE_PYTHON3` has been renamed to `ENABLE_PYTHON2`
448(configure option `--enable-python2`). If this option is enabled, the "python"
449plugin is built with Python 2 (no fallback on Python 3).
450
608ec9f4
SH
451[[v2.6_nick_colors]]
452=== Nick colors
453
454The function to compute the colors based on the nick letters has been fixed
455(now the function uses only a 64-bit integer even if the underlying architecture
456is 32-bit).
457
458If you're running WeeChat on a 32-bit architecture and want to keep same colors
459as the previous releases, you can use one of the two new hash values.
460
461If you were using "djb2", you can switch to "djb2_32":
462
463----
464/set weechat.look.nick_color_hash djb2_32
465----
466
467If you were using "sum", you can switch to "sum_32":
468
469----
470/set weechat.look.nick_color_hash sum_32
471----
472
57aa9e06 473[[v2.5]]
2904a2e8 474== Version 2.5 (2019-06-06)
57aa9e06
SH
475
476[[v2.5_aspell_plugin_renamed]]
477=== Aspell plugin renamed to Spell
478
7b0507bb
SH
479The "aspell" plugin has been renamed to "spell", a more generic term, because
480it supports aspell and also enchant.
57aa9e06
SH
481
482Consequently, the following things have been renamed as well:
483
484* file _aspell.conf_ renamed to _spell.conf_; the content of the
485 file has not changed, so you can just rename the file to keep your changes
8344f0ad
SH
486* options _aspell.*_ renamed to _spell.*_
487* command `/aspell` renamed to `/spell`
488* default key kbd:[Alt+s] changed to `/mute spell toggle`
57aa9e06
SH
489* bar item _aspell_dict_ renamed to _spell_dict_
490* bar item _aspell_suggest_ renamed to _spell_suggest_
491* info _aspell_dict_ renamed to _spell_dict_
492
cccd4f07
SH
493If you are upgrading from a previous release, you can copy the config file
494before doing `/upgrade`, in WeeChat:
495
496----
497/save aspell
498/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
499/upgrade
500----
501
502If you already upgraded WeeChat:
503
504----
505/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
506/reload spell
507----
508
917b2ddf
SH
509Once configuration is OK, you can delete the file _~/.weechat/aspell.conf_.
510
cccd4f07
SH
511Then you can search if you are using "aspell" in values of options:
512
513----
514/fset =aspell
515----
516
517If there are options displayed, replace "aspell" by "spell" in values.
518
21c02a03
SH
519The default key kbd:[Alt+s] can be changed to the new `/spell` command:
520
521----
522/key bind meta-s /mute spell toggle
523----
524
c4a482e0
SH
525[[v2.5_xfer_option_speed_limit]]
526=== Speed limit option for DCC files
527
528The option _xfer.network.speed_limit_ has been renamed to
529_xfer.network.speed_limit_send_.
530
531If you changed the value of this option, you must set it again after upgrade.
532
533A new option _xfer.network.speed_limit_recv_ has been added to limit the
534speed of received files.
535
536[[v2.5_hook_info_allocated_string]]
537=== Allocated string in hook info and function info_get
538
539The hook info callback now returns an allocated string, which must be freed
540after use (in previous versions, a pointer to a static string was returned).
541
542Consequently, the function info_get returns an allocated string, which must
543be freed after use.
544
545This affects only C code, no changes are required in scripts.
546
ed3f281b 547[[v2.4]]
ff6ae69c 548== Version 2.4 (2019-02-17)
ed3f281b 549
1a34f871
SH
550[[v2.4_nick_completer]]
551=== Nick completer
552
553A space is not added automatically any more when you complete a nick at the
4ef149b5
SH
554beginning of command line. +
555Purpose of this change is to be more flexible: you can choose whether the space
556is added or not (it was always added in previous releases).
1a34f871 557
5a681f3c 558The default value of option `weechat.completion.nick_completer` has been changed
4ef149b5
SH
559to add the space by default, but the value of option is not changed automatically
560on upgrade.
561
562So you can run this command if you upgraded from an old version
563and want the space still added automatically:
1a34f871
SH
564
565----
566/set weechat.completion.nick_completer ": "
567----
568
ed3f281b
SH
569[[v2.4_api_base64_functions]]
570=== Base64 API functions
571
572The functions to encode/decode base64 strings have been renamed and now support
573base 16, 32, and 64.
574
575New functions in C API, supporting base 16, 32, and 64:
576
577* string_base_encode
578* string_base_decode
579
580Functions removed from C API:
581
582* string_encode_base64
583* string_decode_base64
584
6620f40e
SH
585[[v2.3]]
586== Version 2.3 (2018-10-21)
587
588No release note.
589
5f2ed55c 590[[v2.2]]
c47916ac 591== Version 2.2 (2018-07-14)
5f2ed55c 592
24d2413f
SH
593[[v2.2_default_hotlist_conditions]]
594=== Default conditions for hotlist
595
596The default value for option `weechat.look.hotlist_add_conditions` has been
597changed to take care about the number of connected clients on the relay
598with weechat protocol: if at least one client is connected, the buffer is
599always added to the hotlist.
600
601The new value contains three conditions, if one of them is true, the buffer
602is added to the hotlist:
603
604* `${away}`: true if you are away on the server matching the buffer,
605* `${buffer.num_displayed} == 0`: true if the buffer is not displayed in any
606 window
41d5cdd1
SH
607* `${info:relay_client_count,weechat,connected} > 0`: true if at least
608 one client is connected on a weechat relay (new condition).
24d2413f
SH
609
610To use the new default value, you can reset the option with this command:
611
612----
613/unset weechat.look.hotlist_add_conditions
614----
615
616Or set explicitly the value:
617
618----
619/set weechat.look.hotlist_add_conditions "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0"
620----
621
1587674e
SH
622[[v2.2_default_triggers]]
623=== Default triggers
624
53fedfe4
SH
625The existing triggers "cmd_pass" and "msg_auth" have been updated to hide
626password in command `/msg nickserv set password` and support the option
627`-server xxx`.
1587674e 628
53fedfe4 629You can restore the default triggers with the following command:
1587674e
SH
630
631----
53fedfe4 632/trigger restore cmd_pass msg_auth
1587674e
SH
633----
634
2802457c
SH
635[[v2.2_irc_signals_tags]]
636=== Tags in IRC "in" signals
637
3fc0ce7d
SH
638The IRCv3 tags are now sent in these IRC signals for received messages
639(_xxx_ is IRC server name, _yyy_ is IRC command name):
2802457c 640
3fc0ce7d
SH
641* _xxx,irc_in_yyy_
642* _xxx,irc_in2_yyy_
643* _xxx,irc_raw_in_yyy_
644* _xxx,irc_raw_in2_yyy_
2802457c
SH
645
646This could break plugins or scripts that parse IRC messages and don't expect
647to receive tags (even if tags *are* part of the IRC message, so this was a bug
648in the IRC signals).
649
650See issue #787 for more information.
651
652[NOTE]
653It is recommended for plugins and scripts to use the WeeChat IRC parser:
654see the function "info_get_hashtable" in the Plugin API reference.
655
656Now the whole IRC message is received by the signal callback, for example:
657
658----
659@tag1=abc;tag2=def :nick!user@host PRIVMSG #test :this is a test
660----
661
662In older releases, this message was received:
663
664----
665:nick!user@host PRIVMSG #test :this is a test
666----
667
5f2ed55c
SH
668[[v2.2_debian_headless_package]]
669=== New Debian package for headless version
670
671A new Debian package has been added: _weechat-headless_ which contains the
672binary _weechat-headless_ and its man page.
673
97ad48e3 674In version 2.1, this binary was in the package _weechat-curses_.
5f2ed55c 675
40749afc 676[[v2.1]]
47e38255 677== Version 2.1 (2018-03-18)
40749afc 678
c4a482e0
SH
679[[v2.1_option_name_completion]]
680=== Completion for /set and /help commands
681
682A new option weechat.completion.partial_completion_templates has been added to
683force partial completion on some templates. By default, the option name
684completed in `/set` and `/help` commands are now using partial completion.
685
686If you prefer old behavior, you can remove the templates from the new option
687with this command:
688
689----
690/set weechat.completion.partial_completion_templates ""
691----
692
693For more information about this feature, you can read help with:
694
695----
696/help weechat.completion.partial_completion_templates
697----
698
21e63e79
SH
699[[v2.1_script_plugin_check_license]]
700=== Option to check license of scripts loaded
701
702A configuration file has been added for each script plugin: _python.conf_,
703_perl.conf_, _ruby.conf_, ...
704
705Therefore the option to check license of loaded scripts has been moved from
706_plugins.var.<language>.check_license_ (type: string) to the plugin
707configuration file (type: boolean, default is _off_).
708
709List of options moved:
710
711* _plugins.var.python.check_license_ (string) moved to _python.look.check_license_ (boolean)
712* _plugins.var.perl.check_license_ (string) moved to _perl.look.check_license_ (boolean)
713* _plugins.var.ruby.check_license_ (string) moved to _ruby.look.check_license_ (boolean)
714* _plugins.var.lua.check_license_ (string) moved to _lua.look.check_license_ (boolean)
715* _plugins.var.tcl.check_license_ (string) moved to _tcl.look.check_license_ (boolean)
716* _plugins.var.guile.check_license_ (string) moved to _guile.look.check_license_ (boolean)
717* _plugins.var.javascript.check_license_ (string) moved to _javascript.look.check_license_ (boolean)
718* _plugins.var.php.check_license_ (string) moved to _php.look.check_license_ (boolean)
719
6f64cd0c
SH
720[[v2.0.1]]
721== Version 2.0.1 (2017-12-20)
722
723Bug fix and maintenance release.
724
5392e307 725[[v2.0]]
f0a06cc8 726== Version 2.0 (2017-12-03)
5392e307 727
a7522d8e
SH
728[[v2.0_fset_plugin]]
729=== Fset plugin
730
731A new plugin "fset" has been added, it replaces the script iset.pl and has many
732new features.
733
734By default the fset plugin changes the behavior of `/set` command when it is
735used with only an option name: it opens the fset buffer if at least one option
736is found.
737
738The old behavior was to display the list of options in the core buffer.
739
740If you prefer the old behavior, you can restore it with this command:
741
742----
743/set fset.look.condition_catch_set ""
744----
745
746For more information about this feature, you can read help with:
747
748----
749/help fset.look.condition_catch_set
750----
751
b55c1582
SH
752[[v2.0_debian_packaging]]
753=== Split of scripting Debian packages
754
755The Debian packaging has changed (for now only on weechat.org repositories,
756not in Debian official repositories). +
5f2ed55c 757The package _weechat-plugins_ has been split into 9 packages:
b55c1582
SH
758
759- weechat-plugins (with only the following plugins: aspell, exec, fifo, relay,
760 script, trigger)
761- weechat-python
762- weechat-perl
763- weechat-ruby
764- weechat-lua
765- weechat-tcl
766- weechat-guile
767- weechat-javascript
768- weechat-php.
769
770If you are using the packages from weechat.org, you will have to install
771manually the scripting packages (according to the languages you'll use
772in WeeChat), for example Python/Perl only:
773
774----
775sudo apt-get install weechat-python weechat-perl
776----
777
778For development packages:
779
780----
781sudo apt-get install weechat-devel-python weechat-devel-perl
782----
783
8c046d9b
SH
784[[v2.0_buflist_eval]]
785=== Evaluation in buflist
786
787The evaluation of expressions in buflist options is not recursive any more,
788to prevent too many evaluations, for example in buffer variables
789(see issue #1060 for more information). +
790If you are using custom variables/options containing evaluated expressions,
791like `${some.config.option}`, and if this option contains evaluated strings (`${...}`),
792you must evaluate them with: `${eval:${some.config.option}}`.
793
794[NOTE]
795The default buflist formats (`${format_buffer}`, `${format_name}`,
796`${format_hotlist}`, ...) are automatically evaluated in options _buflist.format.buffer_,
797_buflist.format.buffer_current_ and _buflist.format.hotlist_.
798
bfef8da8
SH
799[[v2.0_hook_connect]]
800=== Function hook_connect
801
802In scripts, the arguments _status_, _gnutls_rc_ and _sock_ sent to the callback
803of _hook_connect_ are now integers (they were strings in older releases). +
804To be compatible with all versions, it is recommended to convert the argument
805to integer before using it, for example in Python: `int(sock)`.
806
5392e307
SH
807[[v2.0_hook_fd]]
808=== Function hook_fd
809
71e59b09
SH
810In scripts, the argument _fd_ sent to the callback of _hook_fd_ is now
811an integer (it was a string in older releases). +
5392e307
SH
812To be compatible with all versions, it is recommended to convert the argument
813to integer before using it, for example in Python: `int(fd)`.
814
1876af75
SH
815[[v1.9.1]]
816== Version 1.9.1 (2017-09-23)
817
818Bug fix and maintenance release.
819
1206a7bb
SH
820[[v1.9]]
821== Version 1.9 (2017-06-25)
822
823No release note.
824
b29f18d7 825[[v1.8]]
664cb659 826== Version 1.8 (2017-05-13)
5ba10f41 827
a9f6c34f
SH
828[[v1.8_buflist_plugin]]
829=== Buflist plugin
830
831A new plugin called "buflist" has been added, it replaces the script "buffers.pl".
832
833If the script is installed, you will see two sidebars with list of buffers.
834
90a9a1fb
SH
835If you fell in love with buflist and that the script buffers.pl is installed,
836you can uninstall the script and remove its bar with these commands:
a9f6c34f
SH
837
838----
839/script remove buffers.pl
840/bar del buffers
841----
842
90a9a1fb
SH
843If you don't want the list of buffers, you can disable buflist:
844
845----
846/set buflist.look.enabled off
847----
848
849To save extra memory, you can even unload the buflist plugin, remove the bar and
850prevent the plugin from loading on next startup:
851
852----
853/plugin unload buflist
854/bar del buflist
855/set weechat.plugin.autoload "*,!buflist"
856----
857
c4a482e0
SH
858[[v1.8_options]]
859=== Options
860
861The option _script.scripts.url_force_https_ has been removed because now the
862site weechat.org can only be used with HTTPS. +
863Both HTTP and HTTPS protocols are allowed in the option _script.scripts.url_.
864For http://weechat.org/ an automatic redirection to https://weechat.org/ will
865occur, so you should check that the CA certificates are properly installed
866on your machine.
867
868Aspell option with color for suggestion on a misspelled word has been renamed:
869
870* _aspell.color.suggestions_ has been renamed to _aspell.color.suggestion_
871
10917530
SH
872[[v1.7.1]]
873== Version 1.7.1 (2017-04-22)
874
875Bug fix and maintenance release.
876
68d5a89b 877[[v1.7]]
fb1a0231 878== Version 1.7 (2017-01-15)
68d5a89b 879
0cec295a
SH
880[[v1.7_fifo_options]]
881=== FIFO options
882
883A new configuration file "fifo.conf" has been added and the old option
884_plugins.var.fifo.fifo_ has been moved to _fifo.file.enabled_.
885
886A new option _fifo.file.path_ can be used to customize the FIFO pipe
887path/filename.
888
889[[v1.7_default_triggers]]
890=== Default triggers
891
68d5a89b
SH
892A new trigger "cmd_pass_register" has been added to hide only password and not
893email in command `/msg nickserv register password email`. +
894The existing trigger "cmd_pass" has been updated to hide password in all
895commands except `/msg nickserv register`.
896
897You can add the new trigger and restore the other one with the following
898command:
899
900----
901/trigger restore cmd_pass_register cmd_pass
902----
903
20c86db0 904[[v1.6]]
cc0337bb 905== Version 1.6 (2016-10-02)
20c86db0 906
34ccf3fd
SH
907[[v1.6_irc_server_default_msg]]
908=== IRC kick/part/quit default messages
909
910Server options with default messages for kick/part/quit have been renamed:
911
912* options by default for all servers:
913** _irc.server_default.default_msg_kick_ has been renamed to _irc.server_default.msg_kick_
914** _irc.server_default.default_msg_part_ has been renamed to _irc.server_default.msg_part_
915** _irc.server_default.default_msg_quit_ has been renamed to _irc.server_default.msg_quit_
916* options in each server:
917** _irc.server.xxx.default_msg_kick_ has been renamed to _irc.server.xxx.msg_kick_
918** _irc.server.xxx.default_msg_part_ has been renamed to _irc.server.xxx.msg_part_
919** _irc.server.xxx.default_msg_quit_ has been renamed to _irc.server.xxx.msg_quit_
920
a864da7b
SH
921If you changed the value of these options, you must set them again after upgrade.
922
20c86db0 923[[v1.6_api_printf]]
8743a88c 924=== Printf API functions
20c86db0
SH
925
926Some "printf" functions have been removed from C API (there were not in scripting API):
927
928* printf_date
929* printf_tags
930
931The function "printf_date_tags" must now be used instead of these functions
932(the two functions removed were just C macros on function "printf_date_tags"
933with tags set to NULL for "printf_date" and date set to 0 for "printf_tags").
934
951d1410 935[[v1.5]]
c017af8e 936== Version 1.5 (2016-05-01)
7ea2aebc 937
951d1410 938[[v1.5_nick_coloring]]
fabd48cc
SH
939=== Nick coloring moved to core
940
941The nick coloring feature has been moved from irc plugin to core.
942
943Two options have been moved from irc plugin (irc.conf) to core (weechat.conf),
944and you must set new value if you customized them:
945
7d3d56cc
SH
946* _irc.look.nick_color_force_ moved to _weechat.look.nick_color_force_
947* _irc.look.nick_color_hash_ moved to _weechat.look.nick_color_hash_
948* _irc.look.nick_color_stop_chars_ moved to _weechat.look.nick_color_stop_chars_
fabd48cc 949
7d3d56cc 950The default value for option _weechat.look.nick_color_hash_ is now `djb2`
5b629037
SH
951instead of `sum`.
952
fabd48cc
SH
953The following info names (used by API function "info_get") are renamed as well:
954
7d3d56cc
SH
955* _irc_nick_color_ renamed to _nick_color_
956* _irc_nick_color_name_ renamed to _nick_color_name_
fabd48cc
SH
957
958[NOTE]
7d3d56cc 959The old info _irc_nick_color_ and _irc_nick_color_name_ are kept for
fabd48cc
SH
960compatibility (especially scripts) and will be removed in an upcoming release.
961
951d1410 962[[v1.5_callbacks_pointer]]
cf6aca16
SH
963=== Pointer in callbacks
964
965A pointer has been added in all callbacks used by scripts, so the callbacks
7d3d56cc 966will receive an extra _const void *pointer_ before the _void *data_
cf6aca16
SH
967(in the C API only, not scripting API).
968
969This is used to remove linked list of callbacks in scrips (improve speed,
970reduce memory usage).
971
972Following functions are changed in the C API:
973
974* exec_on_files
975* config_new
976* config_new_section
977* config_new_option
978* hook_command
979* hook_command_run
980* hook_timer
981* hook_fd
982* hook_process
983* hook_process_hashtable
984* hook_connect
985* hook_print
986* hook_signal
987* hook_hsignal
988* hook_config
989* hook_completion
990* hook_modifier
991* hook_info
992* hook_info_hashtable
993* hook_infolist
994* hook_hdata
995* hook_focus
d3c21e35 996* unhook_all
cf6aca16
SH
997* buffer_new
998* bar_item_new
999* upgrade_new
1000* upgrade_read
1001
d3c21e35
SH
1002The function `unhook_all` has a new argument `const char *subplugin` to remove
1003only hooks created by this "subplugin" (script).
cf6aca16 1004
951d1410 1005[[v1.5_bar_item_away]]
0e6a6a03
SH
1006=== Bar item "away"
1007
1008The bar item "away" has been moved from irc plugin to core (so that away status
1009can be displayed for any plugin, using the buffer local variable "away").
1010
1011Two options have been moved from irc plugin (irc.conf) to core (weechat.conf):
1012
7d3d56cc
SH
1013* _irc.look.item_away_message_ moved to _weechat.look.item_away_message_
1014* _irc.color.item_away_ moved to _weechat.color.item_away_
0e6a6a03 1015
951d1410 1016[[v1.5_default_triggers]]
7ea2aebc
SH
1017=== Default triggers
1018
1019The default triggers "cmd_pass" and "msg_auth" have been updated to include
1020nickserv commands "recover" and "regain".
1021
1022You can restore them with the following command:
1023
1024----
1025/trigger restore cmd_pass msg_auth
1026----
1027
951d1410 1028[[v1.4]]
0e3ac938 1029== Version 1.4 (2016-01-10)
39e03d45 1030
951d1410 1031[[v1.4_irc_alternate_nicks]]
39e03d45
SH
1032=== IRC alternate nicks
1033
7d3d56cc
SH
1034The option _irc.network.alternate_nick_ has been moved into servers
1035(_irc.server_default.nicks_alternate_ and _irc.server.xxx.nicks_alternate_).
39e03d45
SH
1036
1037If you disabled this option, you must switch it off again, globally or by
1038server.
1039
1040Globally (default value for all servers):
1041
1042----
1043/set irc.server_default.nicks_alternate off
1044----
1045
1046For a specific server:
1047
1048----
1049/set irc.server.freenode.nicks_alternate off
1050----
1051
951d1410 1052[[v1.3]]
9019d031 1053== Version 1.3 (2015-08-16)
07cbc3bd 1054
951d1410 1055[[v1.3_irc_channels_encoding]]
1f457ca0
SH
1056=== IRC channels encoding
1057
1058If you are using exotic charsets in your channel names (anything different from
1059UTF-8, like ISO charset), you should turn on a new option:
1060
1061----
1062/set irc.network.channel_encode on
1063----
1064
1065This will force WeeChat to decode/encode the channel name
1066(like WeeChat 1.2 or older did).
1067
1068See these issues for more information: issue #482, issue #218.
1069
1070[NOTE]
1071It is *highly recommended* to use only UTF-8 in WeeChat (wherever you can),
1072because everything is stored as UTF-8 internally.
1073
951d1410 1074[[v1.3_alias_command]]
7be16826
SH
1075=== Alias command
1076
1077The command `/alias` has been updated to list, add and remove aliases.
1078Therefore the command `/unalias` has been removed.
1079
1080To add an alias, the argument `add` must be used in command `/alias` before the
1081name, for example:
1082
1083----
1084/alias add split /window splith
1085----
1086
1087And the alias is removed with this command:
1088
1089----
1090/alias del split
1091----
1092
951d1410 1093[[v1.3_script_path]]
07cbc3bd
SH
1094=== Script path
1095
7d3d56cc 1096The option _script.scripts.dir_ has been renamed to _script.scripts.path_
07cbc3bd
SH
1097(and the content is now evaluated, see `/help eval`).
1098
a864da7b
SH
1099If you changed the value of this option, you must set it again after upgrade.
1100
951d1410 1101[[v1.2]]
66abd517 1102== Version 1.2 (2015-05-10)
b2a68af0
SH
1103
1104The word chars are now customizable with two options:
1105
1106* weechat.look.word_chars_highlight
1107* weechat.look.word_chars_input
1108
1109The behavior has changed for command line: now any non-word char is used as
1110delimiter for keys to move to previous/next word or delete previous/next word.
1111
1112You can restore the old behavior (only use spaces as delimiters) with this
1113command:
1114
1115----
1116/set weechat.look.word_chars_input "!\u00A0,!\x20,*"
1117----
1118
951d1410 1119[[v1.1.1]]
772d2649
SH
1120== Version 1.1.1 (2015-01-25)
1121
1122Bug fix and maintenance release.
1123
951d1410 1124[[v1.1]]
eb81c475 1125== Version 1.1 (2015-01-11)
b0101155 1126
951d1410 1127[[v1.1_triggers_regex_format]]
3f5a8102
SH
1128=== New format for regex replacement in triggers
1129
1130A new format is used in regex replacement to use regex groups, this format
1131is incompatible with version 1.0.
1132
1133The existing triggers are *NOT automatically updated*.
1134
670e4d7e 1135[width="60%",cols="2,2,3",options="header"]
3f5a8102
SH
1136|===
1137| Old format | New format | Examples (new format)
1138| `$0` ... `$99` | `${re:0}` ... `${re:99}` | `${re:1}`
1139| `$+` | `${re:+}` | `${re:+}`
1140| `$.*N` | `${hide:*,${re:N}}` | `${hide:*,${re:2}}` +
1141 `${hide:-,${re:+}}`
1142|===
1143
1144Moreover, default triggers used to hide passwords have been fixed for *BSD
1145operating systems.
1146
1147You can restore them with the following command:
1148
1149----
1150/trigger restore cmd_pass msg_auth server_pass
1151----
1152
1153If you added triggers with the old regex replacement format, you must update
1154them manually.
1155
951d1410 1156[[v1.1_trigger_beep]]
3f5a8102
SH
1157=== Default "beep" trigger
1158
1159The command of "beep" trigger is now executed only if the message is displayed
1160(not filtered with /filter).
1161
1162You can restore the default "beep" trigger with the following command:
1163
1164----
1165/trigger restore beep
1166----
1167
951d1410 1168[[v1.1_commands_return_code]]
1ef3237b
SH
1169=== Return code of commands
1170
7d3d56cc 1171The API function _weechat_command_ now sends the value returned return by
1ef3237b
SH
1172command callback.
1173
1174WeeChat does not display any more an error when a command returns
7d3d56cc
SH
1175_WEECHAT_RC_ERROR_. Consequently, all plugins/scripts should display an
1176explicit error message before returning _WEECHAT_RC_ERROR_.
1ef3237b
SH
1177
1178For C plugins, two macros have been added in weechat-plugin.h:
7d3d56cc 1179_WEECHAT_COMMAND_MIN_ARGS_ and _WEECHAT_COMMAND_ERROR_.
1ef3237b 1180
951d1410 1181[[v1.1_inline_commands_completion]]
af0397fb
SH
1182=== Completion of inline commands
1183
1184WeeChat now completes by default inline commands (not only at beginning of
1185line).
1186
1187When this feature is enabled, there is no more automatic completion of
1188absolute paths (except if you are completing a path inside a command argument,
1189like `/dcc send <nick> <path>`).
1190
1191To restore the old behavior (no completion of inline commands):
1192
1193----
1194/set weechat.completion.command_inline off
1195----
1196
951d1410 1197[[v1.1_relay_irc_backlog_tags]]
1bda9f10
SH
1198=== Relay option relay.irc.backlog_tags
1199
7d3d56cc 1200The option _relay.irc.backlog_tags_ is now a list separated by commas
1bda9f10
SH
1201(it was separated by semicolons in older versions).
1202
1203If you are using a list of tags in this option, you must adjust the value
1204manually.
1205
951d1410 1206[[v1.1_relay_ipv6_ipv4]]
f48dd3bb
SH
1207=== IPv4-mapped IPv6 client address in relay
1208
1209The string "::ffff:" has been removed from IPv4-mapped IPv6 client address
1210in relay plugin.
1211
7d3d56cc 1212If you are using "::ffff:" in option _relay.network.allowed_ips_, you can
f48dd3bb
SH
1213remove it.
1214
951d1410 1215[[v1.1_irc_temporary_servers]]
761ac5d0
SH
1216=== Temporary servers disabled by default with /connect
1217
7d3d56cc
SH
1218Creating a temporary server with command `+/connect <address>+` or
1219`+/connect irc://...+` is now forbidden by default.
761ac5d0
SH
1220
1221A new option has been added to unlock the feature, you can do that for
1222the old behavior in command `/connect`:
1223
1224----
1225/set irc.look.temporary_servers on
1226----
1227
951d1410 1228[[v1.1_timeval_microseconds]]
7b546bea
SH
1229=== Microseconds in API timeval functions
1230
1231The API functions using timeval are now using or returning microseconds,
1232instead of milliseconds:
1233
7d3d56cc
SH
1234* function _util_timeval_diff_: returns microseconds
1235* function _util_timeval_add_: the argument _interval_ is now expressed in
7b546bea
SH
1236 microseconds.
1237
951d1410 1238[[v1.0.1]]
9aee60bd
SH
1239== Version 1.0.1 (2014-09-28)
1240
1241Bug fix and maintenance release.
1242
951d1410 1243[[v1.0]]
addc27af 1244== Version 1.0 (2014-08-15)
39be4e33 1245
951d1410 1246[[v1.0_irc_channel_type]]
37ad9e36
SH
1247=== Channel type not added by default on /join
1248
1249The channel type is not any more automatically added to a channel name on join
1250(for example `/join weechat` will not send `/join #weechat`).
1251
1252If you are lazy and want to automatically add the channel type, you can turn on
1253the new option:
1254
1255----
1256/set irc.look.join_auto_add_chantype on
1257----
1258
951d1410 1259[[v1.0_irc_channel_modes_arguments]]
de4ce8ee
SH
1260=== Hide IRC channel modes arguments
1261
7d3d56cc
SH
1262The option _irc.look.item_channel_modes_hide_key_ has been renamed to
1263_irc.look.item_channel_modes_hide_args_ and is now a string. +
de4ce8ee
SH
1264It can now hide arguments for multiple channel modes.
1265
1266By default, a channel key (mode "k") will hide channel arguments. For old
1267behavior (never hide arguments, even with a channel key), you can do:
1268
1269----
1270/set irc.look.item_channel_modes_hide_args ""
1271----
1272
951d1410 1273[[v1.0_jump_first_last_buffer]]
bc96d2f1
SH
1274=== Jump to first/last buffer
1275
1276The command `/input jump_last_buffer` has been replaced by `/buffer +`.
a599e032 1277You can rebind the key kbd:[Alt+j], kbd:[Alt+l] (`L`):
bc96d2f1
SH
1278
1279----
1280/key bind meta-jmeta-l /buffer +
1281----
1282
1283[NOTE]
1284The command `/input jump_last_buffer` still works for compatibility reasons,
1285but it should not be used any more.
1286
7d3d56cc 1287Similarly, a new key has been added to jump to first buffer: kbd:[Alt+j], kbd:[Alt+f].
bc96d2f1
SH
1288You can add it with following command:
1289
1290----
1291/key missing
1292----
1293
951d1410 1294[[v1.0_hotlist_conditions]]
dc236510
SH
1295=== Hotlist conditions
1296
7d3d56cc
SH
1297A new option _weechat.look.hotlist_add_conditions_ has been added. This option
1298replaces the option _weechat.look.hotlist_add_buffer_if_away_, which has been
dc236510
SH
1299removed.
1300
1301Default conditions are `${away} || ${buffer.num_displayed} == 0`, which means
1302that a buffer is added in hotlist if you are away ("away" local variable is
1303set), or if the buffer is not visible on screen (not displayed in any window).
1304
7d3d56cc 1305If you have set _weechat.look.hotlist_add_buffer_if_away_ to `off` (to not add
dc236510
SH
1306current buffer in hotlist when you are away), then you must manually change the
1307default conditions with the following command:
1308
1309----
1310/set weechat.look.hotlist_add_conditions "${buffer.num_displayed} == 0"
1311----
1312
951d1410 1313[[v1.0_trigger_plugin]]
3c398bd6
SH
1314=== Rmodifier replaced by Trigger plugin
1315
1316The trigger plugin replaces the rmodifier plugin, which has been removed
1317(and trigger has much more features than rmodifier).
1318
1319Default triggers have same features as default rmodifiers (to hide passwords
1320in commands and output).
1321
1322If you added some custom rmodifiers, you must create similar triggers, see
7d3d56cc 1323`/help trigger` and the complete trigger doc in the _WeeChat User's guide_.
3c398bd6 1324
c5583b06 1325[NOTE]
7d3d56cc 1326If on startup you have an error about API mismatch in plugin _rmodifier.so_,
c5583b06
SH
1327you can manually remove the file (the command `make install` does not remove
1328obsolete plugins).
1329
951d1410 1330[[v1.0_bare_display]]
39be4e33
SH
1331=== Bare display
1332
1333A bare display mode has been added (for easy text selection and click on URLs),
a599e032 1334the new default key is kbd:[Alt+l] (`L`).
39be4e33
SH
1335
1336Use command `/key missing` to add the key or `/key listdiff` to see differences
1337between your current keys and WeeChat default keys.
1338
d4254f21 1339[[v1.0_hook_print]]
71e59b09
SH
1340=== Function hook_print
1341
1342In scripts, the arguments _displayed_ and _highlight_ sent to the callback of
1343_hook_print_ are now integers (they were strings in older releases). +
1344To be compatible with all versions, it is recommended to convert the argument
1345to integer before testing it, for example in Python: `if int(highlight):`.
1346
951d1410 1347[[v0.4.3]]
f25dd0c8 1348== Version 0.4.3 (2014-02-09)
9b4eb6d6 1349
951d1410 1350[[v0.4.3_colors_messages]]
d3799b46
SH
1351=== Colors in messages
1352
d0832cd5
SH
1353The color code for "reverse video" in IRC message has been fixed: now WeeChat
1354uses 0x16 like other clients (and not 0x12 any more). +
d3799b46
SH
1355The code 0x12 is not decoded any more, so if it is received (for example from
1356an old WeeChat version), it is not displayed as reverse video.
1357
d0832cd5
SH
1358The color code for "underlined text" in input line has been fixed: now WeeChat
1359uses 0x1F, the same code sent to IRC server.
1360
1361The default keys for "reverse video" and "underlined text" have changed:
1362
7d3d56cc
SH
1363* reverse video: key kbd:[Ctrl+c], kbd:[r] is replaced by kbd:[Ctrl+c], kbd:[v]
1364* underlined text: key kbd:[Ctrl+c], kbd:[u] is replaced by kbd:[Ctrl+c], kbd:[_]
d3799b46 1365
d0832cd5 1366You can remove the old keys and add the new ones with these commands:
d3799b46
SH
1367
1368----
1369/key unbind ctrl-Cr
d0832cd5 1370/key unbind ctrl-Cu
d3799b46
SH
1371/key missing
1372----
1373
951d1410 1374[[v0.4.3_terminal_title]]
90774b73
SH
1375=== Terminal title
1376
7d3d56cc
SH
1377The boolean option _weechat.look.set_title_ has been renamed to
1378_weechat.look.window_title_ and is now a string.
90774b73
SH
1379
1380The content is evaluated and the default value is `WeeChat ${info:version}`.
1381
1382[NOTE]
1383Only static content should be used in this option, because the title is
1384refreshed only when the option is changed.
1385
951d1410 1386[[v0.4.3_bar_item_buffer_last_number]]
1d81645c
SH
1387=== New bar item buffer_last_number
1388
7d3d56cc 1389The bar item _buffer_count_ now displays the number of opened buffers (each
1d81645c
SH
1390merged buffer counts 1).
1391
7d3d56cc 1392The new bar item _buffer_last_number_ displays the highest buffer number
1d81645c
SH
1393currently used.
1394
7d3d56cc
SH
1395If you want to display last number in the status bar, replace _buffer_count_
1396by _buffer_last_number_ in your option _weechat.bar.status.items_.
1d81645c 1397
951d1410 1398[[v0.4.3_bar_item_buffer_zoom]]
9b4eb6d6
SH
1399=== New bar item buffer_zoom
1400
7d3d56cc 1401A new bar item has been added: _buffer_zoom_.
9b4eb6d6
SH
1402The default value for status bar items becomes:
1403
1404----
1405/set weechat.bar.status.items "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,[lag],[hotlist],completion,scroll"
1406----
1407
951d1410 1408[[v0.4.3_irc_messages_channel_join]]
f285fdaf
SH
1409=== IRC messages on channel join
1410
1411The names are not displayed any more by default on channel join (they are in
1412nicklist anyway).
1413
1414Names can be displayed with the value "353" in option
7d3d56cc 1415_irc.look.display_join_message_ (which is not in default value). +
f285fdaf
SH
1416The value "366" shows only names count on channel.
1417
1418If you want to display all messages on join (including names), you can do:
1419
1420----
537f5617 1421/set irc.look.display_join_message "329,332,333,353,366"
f285fdaf
SH
1422----
1423
951d1410 1424[[v0.4.3_irc_maximum_lag]]
4f184b61
SH
1425=== Maximum lag in IRC
1426
7d3d56cc 1427Option _irc.network.lag_max_ has been added.
4f184b61 1428
7d3d56cc
SH
1429The value of option _irc.network.lag_reconnect_ (if set to non-zero value) must
1430be less than or equal to _irc.network.lag_max_, otherwise the reconnection will
4f184b61
SH
1431never occur.
1432
1433You should check the value of both options and fix them if needed.
1434
951d1410 1435[[v0.4.2]]
5812564b 1436== Version 0.4.2 (2013-10-06)
f7f01988 1437
951d1410 1438[[v0.4.2_day_change_message]]
5812564b 1439=== Day change message
03b6b4c1
SH
1440
1441The day change message is now dynamically displayed, and therefore is not stored
1442as a line in buffer any more.
1443
7d3d56cc
SH
1444Option _weechat.look.day_change_time_format_ has been split into two options
1445_weechat.look.day_change_message_{1date|2dates}_ (color codes are allowed in
9c36b7c6 1446these options, see `/help eval`).
03b6b4c1 1447
7d3d56cc 1448New color option _weechat.color.chat_day_change_ has been added.
03b6b4c1
SH
1449
1450After `/upgrade` from an old version, you will see two messages for each day
1451change. This is a normal behavior and will not happen again with the next day
1452changes.
1453
951d1410 1454[[v0.4.2_buffer_regex_search]]
5812564b 1455=== Regex search in buffer
600ee3dd
SH
1456
1457Search with regular expression has been added, and therefore some keys in search
1458context have been changed.
1459
7d3d56cc 1460The key kbd:[Ctrl+r] in search context is now used to switch string/regex search
600ee3dd
SH
1461(instead of searching exact text).
1462
1463If you never changed keys in search context, you can reset them all with one
1464command:
1465
5812564b 1466----
600ee3dd 1467/key resetall -yes search
5812564b 1468----
600ee3dd
SH
1469
1470Or the manual method:
1471
5812564b 1472----
600ee3dd
SH
1473/key missing search
1474/key bindctxt search ctrl-R /input search_switch_regex
5812564b 1475----
600ee3dd
SH
1476
1477To view keys in search context:
1478
5812564b 1479----
600ee3dd 1480/key list search
5812564b 1481----
600ee3dd 1482
7d3d56cc 1483For more information, see the chapter about keys in the _WeeChat User's guide_.
600ee3dd 1484
951d1410 1485[[v0.4.2_rmodifier]]
5812564b 1486=== New rmodifier
f0cd7a99
SH
1487
1488A new rmodifier "secure" has been added to hide passphrase and passwords
7d3d56cc 1489displayed by command `/secure`. Use command `/rmodifier missing` to add it.
f0cd7a99 1490
951d1410 1491[[v0.4.2_color_codes_options]]
5812564b 1492=== Color codes in options
8ca36552
SH
1493
1494The format for color codes in some options has changed. The options are
1495evaluated with the function "string_eval_expression", which uses the format
1496`${color:xxx}`.
1497
1498Following options are affected:
1499
7d3d56cc
SH
1500* _weechat.look.buffer_time_format_
1501* _weechat.look.prefix_action_
1502* _weechat.look.prefix_error_
1503* _weechat.look.prefix_join_
1504* _weechat.look.prefix_network_
1505* _weechat.look.prefix_quit_
8ca36552
SH
1506
1507The options using old format `${xxx}` must be changed with new format
1508`${color:xxx}` (where xxx is a color name or number, with optional color
1509attributes).
1510
1511Example:
1512
5812564b 1513----
8ca36552 1514/set weechat.look.buffer_time_format "${color:251}%H${color:243}%M${color:238}%S"
5812564b 1515----
8ca36552 1516
951d1410 1517[[v0.4.2_binary_man_page]]
5812564b 1518=== Binary and man page
996da2f6
SH
1519
1520WeeChat binary and man page have been renamed from `weechat-curses` to
1521`weechat`.
1522
1523A symbolic link has been added for binary: `weechat-curses` -> `weechat`
1524(so that the /upgrade from a old version will still work).
1525
1526If you upgrade from an old version, it is recommended to force the use of the
1527new binary name with the command: `/upgrade /path/to/weechat` (replace the path
1528accordingly).
1529
1530[NOTE]
1531For packagers: you should create the link `weechat-curses` -> `weechat` if it's
f065b43b 1532not automatically created in the package (both CMake and configure are creating
996da2f6
SH
1533this link on make install).
1534
951d1410 1535[[v0.4.2_man_page_documentation]]
5812564b 1536=== Man page / documentation
261efe62
SH
1537
1538Documentation is not built by default any more, you have to use option
f065b43b 1539`-DENABLE_DOC=ON` in cmake command to enable it.
261efe62
SH
1540
1541The man page is now built with asciidoc and translated in several
f065b43b 1542languages. A new CMake option `ENABLE_MAN` has been added to compile man page
3aed4ac1 1543(`OFF` by default).
261efe62 1544
951d1410 1545[[v0.4.2_aspell_colors]]
5812564b 1546=== Aspell colors
f7f01988 1547
7d3d56cc 1548Option _aspell.look.color_ has been renamed to _aspell.color.misspelled_.
f7f01988 1549
a864da7b
SH
1550If you changed the value of this option, you must set it again after upgrade.
1551
951d1410 1552[[v0.4.1]]
5812564b 1553== Version 0.4.1 (2013-05-20)
ff15c0a4 1554
951d1410 1555[[v0.4.1_relay_nicklist_diff]]
5812564b 1556=== Nicklist diff in relay
00f3fbdf
SH
1557
1558A new message with identifier "_nicklist_diff" has been added in relay (WeeChat
3450bf7c
SH
1559protocol). WeeChat may decide to send full nicklist or this nicklist diff at
1560any time (depending on size of message, the smaller is sent).
00f3fbdf
SH
1561
1562Clients using nicklist must implement it.
1563
7d3d56cc 1564For more info about content of message, see document _WeeChat Relay Protocol_.
00f3fbdf 1565
951d1410 1566[[v0.4.1_dynamic_nick_prefix_suffix]]
5812564b 1567=== Dynamic nick prefix/suffix
16cc0b60
SH
1568
1569The nick prefix/suffix (for example: "<" and ">") are now dynamic and used on
1570display (not stored any more in the line).
1571
1572Options moved from irc plugin (irc.conf) to core (weechat.conf):
1573
7d3d56cc
SH
1574* _irc.look.nick_prefix_ moved to _weechat.look.nick_prefix_
1575* _irc.look.nick_suffix_ moved to _weechat.look.nick_suffix_
1576* _irc.color.nick_prefix_ moved to _weechat.color.chat_nick_prefix_
1577* _irc.color.nick_suffix_ moved to _weechat.color.chat_nick_suffix_
16cc0b60
SH
1578
1579Types and default values for these four options remain unchanged.
1580
0a7b708a
SH
1581Two new options to customize the truncature char (by default "`+`"):
1582
7d3d56cc
SH
1583* _weechat.look.prefix_align_more_after_ (boolean, _on_ by default)
1584* _weechat.look.prefix_buffer_align_more_after_ (boolean, _on_ by default)
0a7b708a
SH
1585
1586When these options are enabled (default), the "`+`" is displayed after the
1587text, replacing the space that should be displayed there. +
1588When turned off, the "`+`" will replace last char of text.
1589
1590Example for a nicks "FlashCode" and "fc" with different values for options
7d3d56cc
SH
1591_weechat.look.prefix_align_max_, _weechat.look.prefix_align_more_after_,
1592_weechat.look.nick_prefix_ and _weechat.look.nick_suffix_:
0a7b708a 1593
5812564b 1594----
0a7b708a
SH
1595 # align_max, more_after, prefix/suffix
1596
1597FlashCode │ test # 0, on
1598 fc │ test
1599
1600FlashCod+│ test # 8, on
1601 fc │ test
1602
1603FlashCo+ │ test # 8, off
1604 fc │ test
1605
1606<FlashCode> │ test # 0, on, < >
1607 <fc> │ test
1608
1609<FlashC>+│ test # 8, on, < >
1610 <fc> │ test
1611
1612<Flash+> │ test # 8, off, < >
1613 <fc> │ test
5812564b 1614----
0a7b708a 1615
16cc0b60
SH
1616After `/upgrade`, if you set new options to non-empty strings, and if old
1617options were set to non-empty strings too, you will see double prefix/suffix
2dff60d7 1618on old messages, this is normal behavior (lines displayed before `/upgrade`
16cc0b60
SH
1619have prefix/suffix saved in prefix, but new lines don't have them any more).
1620
1621New options in logger plugin (logger.conf):
1622
7d3d56cc 1623* _logger.file.nick_prefix_: prefix for nicks in log files (default: empty
16cc0b60 1624 string)
7d3d56cc 1625* _logger.file.nick_suffix_: suffix for nicks in log files (default: empty
16cc0b60
SH
1626 string)
1627
951d1410 1628[[v0.4.1_irc_reconnection_lag]]
5812564b 1629=== IRC reconnection on important lag
7cf9c8a6 1630
7d3d56cc
SH
1631Option _irc.network.lag_disconnect_ has been renamed to
1632_irc.network.lag_reconnect_ and value is now a number of seconds (instead of
d654fca8 1633minutes).
7cf9c8a6 1634
a864da7b
SH
1635If you changed the value of this option, you must set it again after upgrade.
1636
951d1410 1637[[v0.4.1_irc_passwords_hidden]]
5812564b 1638=== IRC passwords hidden
9beb263e
SH
1639
1640IRC plugin is now using modifiers "irc_command_auth" and "irc_message_auth" to
1641hide passwords.
1642
7d3d56cc
SH
1643The option _irc.look.hide_nickserv_pwd_ has been removed, and a new option
1644_irc.look.nicks_hide_password_ has been added (by default passwords are hidden
9beb263e
SH
1645only for "nickserv").
1646
1647A new rmodifier "message_auth" has been added to hide passwords displayed by
7d3d56cc 1648command `/msg nickserv identify|register|ghost|release` and the rmodifier
9beb263e
SH
1649"nickserv" has been renamed to "command_auth".
1650
1651If you never added/changed rmodifiers, you can just reset all rmodifiers:
1652
5812564b 1653----
9beb263e 1654/rmodifier default -yes
5812564b 1655----
9beb263e
SH
1656
1657If you added/changed some rmodifiers, do it manually with these commands:
1658
5812564b 1659----
9beb263e
SH
1660/rmodifier del nickserv
1661/rmodifier add command_auth history_add,input_text_display,irc_command_auth 1,4* ^(/(msg|quote) +nickserv +(id|identify|register|ghost \S+|release \S+) +)(.*)
1662/rmodifier add message_auth irc_message_auth 1,3* ^(.*(id|identify|register|ghost \S+|release \S+) +)(.*)
5812564b 1663----
9beb263e 1664
951d1410 1665[[v0.4.1_lua_constants]]
5812564b 1666=== Lua constants
2ffa199a
SH
1667
1668For consistency with other supported languages, the API constants in Lua have
1669been redefined as constants instead of functions.
1670
1671Therefore, the use of a constant must be changed: the parentheses must be
1672removed.
1673
1674The old syntax was:
1675
1676[source,lua]
5812564b 1677----
2ffa199a 1678return weechat.WEECHAT_RC_OK()
5812564b 1679----
2ffa199a
SH
1680
1681The new syntax is:
1682
1683[source,lua]
5812564b 1684----
2ffa199a 1685return weechat.WEECHAT_RC_OK
5812564b 1686----
2ffa199a 1687
951d1410 1688[[v0.4.1_guile_callbacks]]
5812564b 1689=== Guile callbacks
9857b44e 1690
6394a3d1
SH
1691The way to give arguments for guile callbacks has been fixed: now arguments are
1692sent individually (instead of a list with all arguments inside).
1693
1694Therefore, existing guile scripts must be modified accordingly. Moreover,
1695WeeChat now requires Guile ≥ 2.0 to compile.
9857b44e 1696
951d1410 1697[[v0.4.0]]
5812564b 1698== Version 0.4.0 (2013-01-20)
e0959486 1699
951d1410 1700[[v0.4.0_bars_conditions]]
5812564b 1701=== Conditions in bars
6394a3d1
SH
1702
1703Conditions in bars have changed, and now an expression is evaluated.
1704
1705If you have a value with many conditions in a bar, like: `nicklist,active`, you
1706must now use an expression like: `${nicklist} && ${active}` (see the chapter
7d3d56cc 1707about bars in the _WeeChat User's guide_).
6394a3d1 1708
951d1410 1709[[v0.4.0_ipv6_default]]
5812564b 1710=== IPv6 by default
6394a3d1 1711
5812564b 1712==== IRC
6394a3d1
SH
1713
1714IPv6 is now used by default to connect to IRC servers, with fallback to
7d3d56cc 1715IPv4. The option _irc.server_default.ipv6_ is now "on" by default. If IPv6 is
3450bf7c
SH
1716not enabled or fails, IPv4 will be used. The "ipv6" option in server is now
1717used to disable IPv6 and force IPv4 (if option is turned "off").
6394a3d1 1718
5812564b 1719==== Relay
6394a3d1
SH
1720
1721Relay plugin is now listening by default on an IPv6 socket (new option
7d3d56cc 1722_relay.network.ipv6_, on by default), so connections with IPv4 will have
6394a3d1 1723IPv4-mapped IPv6 addresses, like: "::ffff:127.0.0.1" (for "127.0.0.1"); check
7d3d56cc 1724that value of option _relay.network.allowed_ips_ supports this mapping, or
9beb263e 1725disable IPv6 in relay if you don't plan to use it at all:
6394a3d1 1726
5812564b 1727----
6394a3d1 1728/set relay.network.ipv6 off
5812564b 1729----
e0959486 1730
951d1410 1731[[v0.3.9.2]]
5812564b 1732== Version 0.3.9.2 (2012-11-18)
57293ffc 1733
3450bf7c
SH
1734This version fixes a security vulnerability when a plugin/script gives
1735untrusted command to API function "hook_process".
57293ffc 1736
951d1410 1737[[v0.3.9.1]]
5812564b 1738== Version 0.3.9.1 (2012-11-09)
7cd376b4
SH
1739
1740This version fixes crash when decoding IRC colors in strings.
1741
951d1410 1742[[v0.3.9]]
5812564b 1743== Version 0.3.9 (2012-09-29)
9076f359 1744
951d1410 1745[[v0.3.9_options_moved]]
5812564b 1746=== Options moved
9c8b06de 1747
6394a3d1
SH
1748Options moved from core (weechat.conf) to irc plugin (irc.conf):
1749
7d3d56cc 1750* _weechat.look.nickmode_ moved to _irc.look.nick_mode_ (new type: integer
50730484 1751 with values: none/prefix/action/both)
7d3d56cc 1752* _weechat.look.nickmode_empty_ moved to _irc.look.nick_mode_empty_
6394a3d1 1753
951d1410 1754[[v0.3.9_bar_item_buffer_modes]]
5812564b 1755=== New bar item buffer_modes
6394a3d1 1756
7d3d56cc
SH
1757A new bar item has been added: _buffer_modes_ and irc option
1758_irc.look.item_channel_modes_ has been removed; to display irc channel modes in
6394a3d1 1759status bar (after channel name), you have to manually add the new item
7d3d56cc 1760_buffer_modes_ (this is now used by default in status bar items), default value
6394a3d1
SH
1761for status bar items becomes:
1762
5812564b 1763----
6394a3d1 1764/set weechat.bar.status.items "[time],[buffer_count],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_filter,[lag],[hotlist],completion,scroll"
5812564b 1765----
6394a3d1 1766
951d1410 1767[[v0.3.9_command_aspell]]
5812564b 1768=== Command /aspell
6394a3d1
SH
1769
1770New options in command `/aspell`:
1771
1772* `enable`: enable aspell
1773* `disable`: disable aspell
7d3d56cc 1774* `toggle`: toggle aspell (new default key: kbd:[Alt+s])
6394a3d1
SH
1775
1776Options renamed in command `/aspell`:
1777
1778* `enable` renamed to `setdict` (set dictionary for current buffer)
1779* `disable` renamed to `deldict` (delete dictionary used on current buffer)
1780* `dictlist` renamed to `listdict` (show installed dictionaries)
1781
951d1410 1782[[v0.3.9_horizontal_separator]]
5812564b 1783=== Horizontal separator
6394a3d1
SH
1784
1785An horizontal separator has been added between split windows, and two options
1786have been added to toggle separators (both are enabled by default):
1787
7d3d56cc
SH
1788* _weechat.look.window_separator_horizontal_
1789* _weechat.look.window_separator_vertical_
6394a3d1 1790
951d1410 1791[[v0.3.9_new_keys]]
5812564b 1792=== New keys
6394a3d1
SH
1793
1794New keys were added, use command `/key missing` to add them or `/key listdiff`
1795to see differences between your current keys and WeeChat default keys.
9076f359 1796
951d1410 1797[[v0.3.8]]
5812564b 1798== Version 0.3.8 (2012-06-03)
ca643c6f 1799
951d1410 1800[[v0.3.8_options]]
5812564b 1801=== Options
6394a3d1 1802
7d3d56cc
SH
1803Options _weechat.look.prefix_align_more_ and
1804_weechat.look.prefix_buffer_align_more_ have been converted from type boolean
3450bf7c 1805to string:
6394a3d1 1806
fa845c2e
SH
1807* If the value was on (default), new value is "+" and you can now customize
1808 this char.
1809* If the value was off, you have to set " " (string with one space).
6394a3d1 1810
951d1410 1811[[v0.3.8_paste_detection]]
5812564b 1812=== Paste detection
6394a3d1 1813
7d3d56cc 1814Option _weechat.look.paste_max_lines_ can now be used with value 0 to detect
6394a3d1 1815paste with one line (only if terminal "bracketed paste mode" is enabled when
7d3d56cc
SH
1816option _weechat.look.paste_bracketed_ is on); so now the value -1 is used to
1817disable paste detection: if your value was 0, you should set it to -1:
6394a3d1 1818
5812564b 1819----
6394a3d1 1820/set weechat.look.paste_max_lines -1
5812564b 1821----
6394a3d1 1822
951d1410 1823[[v0.3.8_rmodifier]]
5812564b 1824=== Rmodifier
6394a3d1 1825
3450bf7c 1826Rmodifier "nickserv" has a new default regex which includes option "release"
7d3d56cc 1827for command `/msg nickserv`.
9beb263e
SH
1828
1829If you never added/changed rmodifiers, you can just reset all rmodifiers:
1830
5812564b 1831----
9beb263e 1832/rmodifier default -yes
5812564b 1833----
6394a3d1 1834
9beb263e 1835If you added/changed some rmodifiers, do it manually with these commands:
6394a3d1 1836
5812564b 1837----
6394a3d1
SH
1838/rmodifier del nickserv
1839/rmodifier add nickserv history_add,input_text_display 1,4* ^(/(msg|quote) +nickserv +(id|identify|ghost \S+|release \S+) +)(.*)
5812564b 1840----
ca643c6f 1841
951d1410 1842[[v0.3.7]]
5812564b 1843== Version 0.3.7 (2012-02-26)
60e88df4 1844
951d1410 1845[[v0.3.7_options]]
5812564b 1846=== Options
6394a3d1
SH
1847
1848Option `scroll_unread` has been moved from command `/input` to `/window`,
7d3d56cc 1849therefore default command of key kbd:[Alt+u] has been updated. To bind key with
03fa2448 1850new default value:
6394a3d1 1851
5812564b 1852----
6394a3d1 1853/key bind meta-u /window scroll_unread
5812564b 1854----
6394a3d1 1855
7d3d56cc
SH
1856Option _weechat.history.max_lines_ has been renamed to
1857_weechat.history.max_buffer_lines_number_.
6394a3d1 1858
a864da7b
SH
1859If you changed the value of this option, you must set it again after upgrade.
1860
7d3d56cc 1861Option _weechat.plugin.extension_ now supports list of extensions, and new
6394a3d1
SH
1862default value is ".so,.dll" (with this value, weechat.conf is compatible with
1863Cygwin).
1864
951d1410 1865[[v0.3.7_extended_regex]]
5812564b 1866=== Extended regex
6394a3d1
SH
1867
1868Extended regex is used in filters and irc ignore, so some chars that needed
1869escape in past do not need any more (for example `[0-9]\+` becomes `[0-9]+`),
1870filters and ignore have to be manually fixed.
1871
7d3d56cc 1872Option _weechat.look.highlight_regex_ becomes case insensitive by default, to
6394a3d1
SH
1873make it case sensitive, use "(?-i)" at beginning of string, for example:
1874"(?-i)FlashCode|flashy".
60e88df4 1875
951d1410 1876[[v0.3.6]]
5812564b 1877== Version 0.3.6 (2011-10-22)
4a16de55 1878
951d1410 1879[[v0.3.6_options]]
5812564b 1880=== Options
0f5b4dbe 1881
7d3d56cc
SH
1882Option _weechat.look.hline_char_ has been renamed to
1883_weechat.look.separator_horizontal_.
6394a3d1 1884
a864da7b
SH
1885If you changed the value of this option, you must set it again after upgrade.
1886
951d1410 1887[[v0.3.6_colors_bold]]
5812564b 1888=== Bold in colors
6394a3d1
SH
1889
1890Bold is not used any more for basic colors (used only if terminal has less than
189116 colors), a new option has been added to force bold if needed:
7d3d56cc 1892_weechat.look.color_basic_force_bold_.
4a16de55 1893
951d1410 1894[[v0.3.5]]
5812564b 1895== Version 0.3.5 (2011-05-15)
030755d3 1896
951d1410 1897[[v0.3.5_colors]]
5812564b 1898=== Colors
6394a3d1
SH
1899
1900If you have some colors defined in section "palette" with version 0.3.4, you
1901should remove all colors defined, and add new aliases (it's not needed any more
1902to add colors before using them).
1903
3450bf7c 1904Colors for nick prefixes (char for op, voice, ..) are defined in a single
7d3d56cc
SH
1905option _irc.color.nick_prefixes_, therefore following options will be lost:
1906_irc.color.nick_prefix_op_, _irc.color.nick_prefix_halfop_,
1907_irc.color.nick_prefix_voice_, _irc.color.nick_prefix_user_.
6394a3d1 1908
951d1410 1909[[v0.3.5_hotlist]]
5812564b 1910=== Hotlist
6394a3d1 1911
951d1410 1912[[v0.3.5_hotlist_counters]]
5812564b 1913==== Counters
6394a3d1
SH
1914
1915Count of messages have been added to hotlist by default, if you want to come
1916back to old behavior, do that:
1917
5812564b 1918----
6394a3d1
SH
1919/set weechat.look.hotlist_count_max 0
1920/set weechat.look.hotlist_buffer_separator ","
5812564b 1921----
6394a3d1 1922
951d1410 1923[[v0.3.5_hotlist_away_current_buffer]]
5812564b 1924==== Away and current buffer
6394a3d1 1925
3450bf7c
SH
1926When you are away, all buffers are now added to hotlist by default (even if
1927they are displayed in a window), if you want to come back to old behavior, do
1928that:
6394a3d1 1929
5812564b 1930----
6394a3d1 1931/set weechat.look.hotlist_add_buffer_if_away off
5812564b 1932----
6394a3d1 1933
951d1410 1934[[v0.3.5_new_keys]]
5812564b 1935=== New keys
6394a3d1
SH
1936
1937New keys were added, use command `/key missing` to add them or `/key listdiff`
1938to see differences between your current keys and WeeChat default keys.
030755d3 1939
951d1410 1940[[v0.3.4]]
5812564b 1941== Version 0.3.4 (2011-01-16)
6f063c95 1942
951d1410 1943[[v0.3.4_after_upgrade]]
5812564b 1944=== After /upgrade
6394a3d1
SH
1945
1946If you are using `/upgrade` from a previous release:
1947
fa845c2e
SH
1948* Some nick prefixes can be wrong, so it is recommended to do `/allchan names`.
1949* Nick colors are defined with a new option _weechat.color.chat_nick_colors_,
7d3d56cc 1950 therefore old options _weechat.color.chat_nick_color1..10_ will be lost when
fa845c2e
SH
1951 upgrading.
1952* Nick colors in messages displayed will be wrong if you changed some nick
1953 colors (old default colors will be used).
6394a3d1 1954
951d1410 1955[[v0.3.4_options]]
5812564b 1956=== Options
6394a3d1
SH
1957
1958Some IRC options have been renamed, before upgrading to this version, note
1959value for old options, and set them again with new name:
1960
7d3d56cc 1961* options moved from _network_ section to servers (with global value, and
3450bf7c 1962 server value, like other server options):
7d3d56cc
SH
1963** _irc.network.connection_timeout_ moved to
1964 _irc.server_default.connection_timeout_
1965** _irc.network.anti_flood_prio_high_ moved to
1966 _irc.server_default.anti_flood_prio_high_
1967** _irc.network.anti_flood_prio_low_ moved to
1968 _irc.server_default.anti_flood_prio_low_
1969** _irc.network.away_check_ moved to _irc.server_default.away_check_
1970** _irc.network.away_check_max_nicks_ moved to
1971 _irc.server_default.away_check_max_nicks_
1972** _irc.network.default_msg_part_ moved to
1973 _irc.server_default.default_msg_part_
1974** _irc.network.default_msg_quit_ moved to
1975 _irc.server_default.default_msg_quit_
6394a3d1 1976* other IRC options renamed:
7d3d56cc 1977** _irc.look.open_channel_near_server_ moved to _irc.look.new_channel_position_
6394a3d1 1978 (old option was boolean, new is integer with value as string)
7d3d56cc 1979** _irc.look.open_pv_near_server_ moved to _irc.look.new_pv_position_
6394a3d1 1980 (old option was boolean, new is integer with value as string)
6f063c95 1981
951d1410 1982[[v0.3.3]]
5812564b 1983== Version 0.3.3 (2010-08-07)
f51ec651 1984
951d1410 1985[[v0.3.3_after_upgrade]]
5812564b 1986=== After /upgrade
6394a3d1
SH
1987
1988If you are using `/upgrade` from a previous release, then you must reconnect to
1989IRC servers in order to use new command /wallchops.
1990
951d1410 1991[[v0.3.3_options]]
5812564b 1992=== Options
a31d01a4 1993
7d3d56cc
SH
1994Option _irc.look.show_away_once_ has been renamed to
1995_irc.look.display_pv_away_once_.
6394a3d1 1996
7d3d56cc 1997Option _irc.network.lag_min_show_ is now in milliseconds, you should set new
6394a3d1 1998value: your current value multiplied by 1000 (new default value is 500).
f51ec651 1999
951d1410 2000[[v0.3.2]]
5812564b 2001== Version 0.3.2 (2010-04-18)
2a37b44a 2002
951d1410 2003[[v0.3.2_after_upgrade]]
5812564b 2004=== After /upgrade
6394a3d1 2005
2a37b44a
SH
2006If you are using `/upgrade` from a previous release, then you must execute this
2007command on all IRC servers/channels/private buffers and xfer DCC chats (not
6394a3d1
SH
2008needed on WeeChat core buffer or buffers from other plugins/scripts):
2009
5812564b 2010----
6394a3d1 2011/buffer set highlight_words $nick
5812564b 2012----
2a37b44a 2013
951d1410 2014[[v0.3.1.1]]
5812564b 2015== Version 0.3.1.1 (2010-01-31)
2a37b44a 2016
6394a3d1 2017This version fixes crashes with SSL connection and purge of old DCC chats.
2a37b44a 2018
b5082902 2019All users of version 0.3.1 should upgrade to this version.
2a37b44a 2020
951d1410 2021[[v0.3.1]]
5812564b 2022== Version 0.3.1 (2010-01-23)
2a37b44a 2023
951d1410 2024[[v0.3.1_aliases]]
5812564b 2025=== Aliases
6394a3d1 2026
2a37b44a 2027IRC commands /ame and /amsg are now aliases, if you are upgrading from version
6394a3d1
SH
20280.3.0, you must create aliases with following commands:
2029
5812564b 2030----
6394a3d1
SH
2031/alias aaway allserv /away
2032/alias ame allchan /me
2033/alias amsg allchan /amsg *
2034/alias anick allserv /nick
5812564b 2035----
2a37b44a 2036
951d1410 2037[[v0.3.0]]
5812564b 2038== Version 0.3.0 (2009-09-06)
2a37b44a 2039
6394a3d1 2040This version brings *MAJOR* changes, especially for configuration files and
25f8a629 2041plugin API and is not compatible with previous versions.
ce657fd7
SH
2042
2043Major differences:
2044
fa845c2e 2045* It is *NOT POSSIBLE* to use command `/upgrade` from a version 0.2.x to 0.3.x;
ce657fd7 2046 you have to quit your old WeeChat, then run new version.
fa845c2e 2047* New configuration files (`*.conf`) are not compatible with old files
3450bf7c 2048 (`*.rc`).
fa845c2e 2049* Name of options is similar to old versions, but there is now one
3450bf7c 2050 configuration file by plugin, and one file for WeeChat core; there is
ce657fd7
SH
2051 *no automatic conversion* for your old options to new configuration files,
2052 so you'll have to setup again your IRC servers and all other options.
fa845c2e 2053* Plugin API has been rewritten and is not compatible with previous versions;
ce657fd7
SH
2054 accordingly, scripts and plugins must have been designed for version 0.3.x to
2055 be loaded into WeeChat.
2056
951d1410 2057[[v0.2.6.3]]
5812564b 2058== Version 0.2.6.3 (2009-06-13)
2a37b44a
SH
2059
2060This version fixes gnutls detection.
2061
951d1410 2062[[v0.2.6.2]]
5812564b 2063== Version 0.2.6.2 (2009-04-18)
2a37b44a 2064
7d3d56cc 2065This version fixes a bug with charset decoding (like _iso2022jp_).
2a37b44a 2066
951d1410 2067[[v0.2.6.1]]
5812564b 2068== Version 0.2.6.1 (2009-03-14)
2a37b44a
SH
2069
2070This version fixes a major bug: crash with some special chars in IRC messages.
2071
951d1410 2072[[v0.2.6]]
5812564b 2073== Version 0.2.6 (2007-09-06)
2a37b44a
SH
2074
2075No release note.
2076
951d1410 2077[[v0.2.5]]
5812564b 2078== Version 0.2.5 (2007-06-07)
2a37b44a
SH
2079
2080No release note.
2081
951d1410 2082[[v0.2.4]]
5812564b 2083== Version 0.2.4 (2007-03-29)
2a37b44a
SH
2084
2085No release note.
2086
951d1410 2087[[v0.2.3]]
5812564b 2088== Version 0.2.3 (2007-01-10)
2a37b44a
SH
2089
2090This version fixes several major bugs of version 0.2.2.
2091
2092All users of version 0.2.2 should upgrade to this version.
2093
951d1410 2094[[v0.2.2]]
5812564b 2095== Version 0.2.2 (2007-01-06)
2a37b44a 2096
951d1410 2097[[v0.2.2_charset_plugin]]
5812564b 2098=== Charset plugin
6394a3d1
SH
2099
2100For users of any previous version, all your charset settings in weechat.rc will
2101be LOST! You should save your weechat.rc to keep your values and set them again
7d3d56cc 2102with new _charset_ plugin.
6394a3d1
SH
2103
2104For ISO users: history of channels may be without accents (after `/upgrade`),
2105this is not recoverable, but this is not a bug. All new messages should be OK.
2106
3450bf7c 2107Be careful, now default encode is UTF-8 for all channels (before it was
7d3d56cc
SH
2108terminal charset). If you still want to send messages as _ISO-8859-1_, you
2109should set either global encode or server specific encode to _ISO-8859-1_.
6394a3d1
SH
2110
2111For global encode:
2112
5812564b 2113----
6394a3d1 2114/setp charset.global.encode = "ISO-8859-1"
5812564b 2115----
6394a3d1
SH
2116
2117For server encode (on server buffer):
2118
5812564b 2119----
6394a3d1 2120/charset encode ISO-8859-1
5812564b 2121----
6394a3d1 2122
951d1410 2123[[v0.2.2_new_keys]]
5812564b 2124=== New keys
6394a3d1 2125
7d3d56cc 2126New keys for topic scroll: kbd:[F9]/kbd:[F10].
6394a3d1 2127
7d3d56cc 2128Key kbd:[F10] was used for `infobar_clear` in previous WeeChat versions, you
03fa2448 2129have to manually rebind this key (except for new WeeChat users):
6394a3d1 2130
5812564b 2131----
6394a3d1 2132/key <press alt+"k" then F10> scroll_topic_right
5812564b 2133----
6394a3d1
SH
2134
2135Which gives something like:
2136
5812564b 2137----
6394a3d1 2138/key meta2-21~ scroll_topic_right
5812564b 2139----
2a37b44a 2140
951d1410 2141[[v0.2.1]]
5812564b 2142== Version 0.2.1 (2006-10-01)
2a37b44a
SH
2143
2144No release note.
2145
951d1410 2146[[v0.2.0]]
5812564b 2147== Version 0.2.0 (2006-08-19)
2a37b44a 2148
951d1410 2149[[v0.2.0_after_upgrade]]
5812564b 2150=== After /upgrade
2a37b44a 2151
6394a3d1
SH
2152If you upgraded with `/upgrade` in WeeChat, you should `/disconnect` and then
2153`/reconnect` on each server, to display properly channel/user modes.
2154
951d1410 2155[[v0.2.0_plugins]]
5812564b 2156=== Plugins
6394a3d1 2157
3450bf7c 2158If you're using plugins, you should remove some old plugins libraries in
7d3d56cc 2159WeeChat system library directory (commonly _/usr/local/lib/weechat/plugins_):
3450bf7c
SH
2160remove `lib*` files (like `libperl.*`, `libpython.*`, ..) and keep only new
2161libraries (`perl.*`, `python.*`, ..).
2a37b44a 2162
951d1410 2163[[v0.1.9]]
5812564b 2164== Version 0.1.9 (2006-05-25)
2a37b44a 2165
951d1410 2166[[v0.1.9_dcc_chat]]
5812564b 2167=== DCC chat
6394a3d1
SH
2168
2169Please close all DCC chat buffers before using /upgrade command, otherwise you
2170may experience problems with DCC chats.
2a37b44a 2171
951d1410 2172[[v0.1.9_script_api]]
5812564b 2173=== Script API
6394a3d1
SH
2174
2175Some changes in script API: now timer handlers functions takes exactly 0 (zero)
2176argument (in version 0.1.8, two arguments were mandatory but not used: server
2177and arguments).
2a37b44a 2178
951d1410 2179[[v0.1.8]]
5812564b 2180== Version 0.1.8 (2006-03-18)
2a37b44a 2181
951d1410 2182[[v0.1.8_after_upgrade]]
5812564b 2183=== After /upgrade
6394a3d1
SH
2184
2185After installing 0.1.8 (or with `/upgrade`), issue both commands (if you didn't
7d3d56cc 2186redefine these keys (kbd:[Alt+Home] / kbd:[Alt+End]):
6394a3d1 2187
5812564b 2188----
6394a3d1
SH
2189/key unbind meta-meta2-1~
2190/key unbind meta-meta2-4~
5812564b 2191----
6394a3d1
SH
2192
2193Then launch again WeeChat (or issue `/upgrade`).
2194
951d1410 2195[[v0.1.8_configuration_files]]
5812564b 2196=== Configuration files
6394a3d1
SH
2197
2198It is recommended for users of version 0.1.7 (or any older), to replace values
7d3d56cc 2199in setup file (_~/.weechat/weechat.rc_):
6394a3d1 2200
7d3d56cc
SH
2201* option: log_path: replace _~/.weechat/logs_ by _%h/logs_
2202* option: plugins_path: replace _~/.weechat/plugins_ by _%h/plugins_
6394a3d1 2203
7d3d56cc 2204The string _%h_ is replaced by WeeChat home (default: _~/.weechat_, may be
6394a3d1
SH
2205overridden by new command line argument `--dir`).
2206
951d1410 2207[[v0.1.8_keys]]
5812564b 2208=== Keys
6394a3d1 2209
7d3d56cc
SH
2210Keys kbd:[Alt+Home] / kbd:[Alt+End] were used for nicklist scroll, they're now
2211replaced by kbd:[Alt+F11] / kbd:[Alt+F12].
2a37b44a 2212
951d1410 2213[[v0.1.7]]
5812564b 2214== Version 0.1.7 (2006-01-14)
2a37b44a 2215
951d1410 2216[[v0.1.7_ruby]]
5812564b 2217=== Ruby
6394a3d1
SH
2218
2219Ruby script plugin has been added but is experimental in this release. You're
2220warned!
2221
951d1410 2222[[v0.1.7_command_away]]
5812564b 2223=== Command /away
2a37b44a 2224
6394a3d1
SH
2225Command `/away` was changed to be RFC 2812 compliant. Now argument is required
2226to set away, and no argument means remove away ("back").
2227
7d3d56cc 2228Option _irc_default_msg_away_ has been removed.
2a37b44a 2229
951d1410 2230[[v0.1.6]]
5812564b 2231== Version 0.1.6 (2005-11-11)
2a37b44a 2232
951d1410 2233[[v0.1.6_script_api]]
5812564b 2234=== Script API
6394a3d1
SH
2235
2236Incompatibility with some old scripts: now all handlers have to return a code
2237for completion, and to do some actions about message to ignore (please look at
2238documentation for detail).
2239
951d1410 2240[[v0.1.6_openbsd]]
5812564b 2241=== OpenBSD
6394a3d1 2242
7d3d56cc
SH
2243On OpenBSD, the new option _plugins_extension_ should be set to _.so.0.0_ since
2244the plugins names are ending by _.so.0.0_ and not _.so_.
6394a3d1 2245
951d1410 2246[[v0.1.6_utf8]]
5812564b 2247=== UTF-8
6394a3d1 2248
7d3d56cc 2249With new and full UTF-8 support, the option _look_charset_internal_ should be
6394a3d1 2250set to blank for most cases. Forces it only if your locale is not properly
7d3d56cc
SH
2251detected by WeeChat (you can set _UTF-8_ or _ISO-8859-15_ for example,
2252depending on your locale). WeeChat is looking for _UTF-8_ in your locale name
3450bf7c 2253at startup.
2a37b44a 2254
951d1410 2255[[v0.1.5]]
5812564b 2256== Version 0.1.5 (2005-09-24)
2a37b44a
SH
2257
2258No release note.
2259
951d1410 2260[[v0.1.4]]
5812564b 2261== Version 0.1.4 (2005-07-30)
2a37b44a
SH
2262
2263No release note.
2264
951d1410 2265[[v0.1.3]]
5812564b 2266== Version 0.1.3 (2005-07-02)
2a37b44a
SH
2267
2268No release note.
2269
951d1410 2270[[v0.1.2]]
5812564b 2271== Version 0.1.2 (2005-05-21)
2a37b44a
SH
2272
2273No release note.
2274
951d1410 2275[[v0.1.1]]
5812564b 2276== Version 0.1.1 (2005-03-20)
2a37b44a
SH
2277
2278No release note.
2279
951d1410 2280[[v0.1.0]]
5812564b 2281== Version 0.1.0 (2005-02-12)
2a37b44a
SH
2282
2283No release note.
2284
951d1410 2285[[v0.0.9]]
5812564b 2286== Version 0.0.9 (2005-01-01)
2a37b44a
SH
2287
2288No release note.
2289
951d1410 2290[[v0.0.8]]
5812564b 2291== Version 0.0.8 (2004-10-30)
2a37b44a
SH
2292
2293No release note.
2294
951d1410 2295[[v0.0.7]]
5812564b 2296== Version 0.0.7 (2004-08-08)
2a37b44a
SH
2297
2298No release note.
2299
951d1410 2300[[v0.0.6]]
5812564b 2301== Version 0.0.6 (2004-06-05)
2a37b44a
SH
2302
2303No release note.
2304
951d1410 2305[[v0.0.5]]
5812564b 2306== Version 0.0.5 (2004-02-07)
2a37b44a
SH
2307
2308No release note.
2309
951d1410 2310[[v0.0.4]]
5812564b 2311== Version 0.0.4 (2004-01-01)
2a37b44a
SH
2312
2313No release note.
2314
951d1410 2315[[v0.0.3]]
5812564b 2316== Version 0.0.3 (2003-11-03)
2a37b44a
SH
2317
2318No release note.
2319
951d1410 2320[[v0.0.2]]
5812564b 2321== Version 0.0.2 (2003-10-05)
2a37b44a
SH
2322
2323No release note.
2324
951d1410 2325[[v0.0.1]]
5812564b 2326== Version 0.0.1 (2003-09-27)
2a37b44a
SH
2327
2328No release note.