]> jfr.im git - irc/weechat/weechat.git/blame - ReleaseNotes.adoc
Version 3.7
[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
b7441bd7 20[[v3.7]]
484f679e 21== Version 3.7 (2022-10-09)
b7441bd7 22
92cdcee8
SH
23[[v3.7_upgrade_new_callback_object_id]]
24=== Argument "object_id" in callback of upgrade_new
25
26In all script languages (except PHP), the argument "object_id" sent to the
27callback of "upgrade_new" is now an integer (it was a string in older releases).
28
29To be compatible with all versions, it is recommended to convert the argument
30to integer before testing it, for example in Python:
31
32[source,python]
33----
34if int(object_id) == 1:
35 # ...
36----
37
b2b110f1
SH
38[[v3.7_hook_timer_callback_remaining_calls]]
39=== Argument "remaining_calls" in callback of hook_timer
40
41In all script languages (except PHP), the argument "remaining_calls" sent to the
42callback of "hook_timer" is now an integer (it was a string in older releases).
43
44To be compatible with all versions, it is recommended to convert the argument
45to integer before testing it, for example in Python:
46
47[source,python]
48----
49if int(remaining_calls) > 0:
50 # ...
51----
52
01cf98e8
SH
53[[v3.7_delete_previous_word_whitespace]]
54=== Delete previous word until whitespace
55
56A new parameter `delete_previous_word_whitespace` has been added in `/input`
57command to delete previous word until backspace. +
58This is now bound by default to the key kbd:[Ctrl+w] (see issue #559).
59
60A new key kbd:[Alt+Backspace] has been added to delete word, like kbd:[Ctrl+w]
61did in previous releases.
62
63You can get the new behavior for kbd:[Ctrl+w] with this command:
64
65----
66/key bind ctrl-W /input delete_previous_word_whitespace
67----
68
69And add the new key kbd:[Alt+Backspace] with this command:
70
71----
72/key missing
73----
74
b7441bd7
SH
75[[v3.7_api_string_rebuild_split_string]]
76=== Function string_rebuild_split_string
77
78The API function string_build_with_split_string has been renamed to
79link:https://weechat.org/doc/plugin/#_string_rebuild_split_string[string_rebuild_split_string]
80and two new arguments have been added: _index_start_ and _index_end_.
81
82To stay compatible, the existing calls to the function must be done with the
83new function name and these values:
84
85* _index_start_: `0`
86* _index_end_: `-1`
87
2a242890 88[[v3.6]]
e5a159c7 89== Version 3.6 (2022-07-10)
2a242890 90
1c7b431b
SH
91[[v3.6_hook_print_empty_messages]]
92=== Hook print on empty messages
93
94The "hook_print" callback is now called even when an empty message is displayed
95(with or without prefix).
96
97This was a bug, but is mentioned here just in case some scripts callbacks
98would be surprised to be called with such empty messages.
99
2a242890
SH
100[[v3.6_trigger_beep]]
101=== Default trigger "beep"
102
103The command of "beep" trigger is now executed only if the buffer notify is NOT
104set to `none` (in addition to existing conditions).
105
106You can restore the default trigger "beep" with the following command:
107
108----
109/trigger restore beep
110----
111
498194f6 112[[v3.5]]
0e649761 113== Version 3.5 (2022-03-27)
498194f6
SH
114
115[[v3.5_relay_weechat_compression_zstd]]
116=== Compression "zstandard" in relay
117
118Relay of type "weechat" now offers a compression with https://facebook.github.io/zstd/[Zstandard],
119which allows better compression and is much faster than zlib for both compression and decompression.
120
121The new compression type is `zstd`, and the default compression is now `off`
122instead of `zlib`: the compression must now be explicitly given in the
8ac67ff5 123link:https://weechat.org/doc/relay/#command_handshake[handshake] command.
498194f6 124
8ac67ff5 125The option `compression` in link:https://weechat.org/doc/relay/#command_handshake[init]
498194f6 126command has been removed, it is now ignored and must be given in the
8ac67ff5 127link:https://weechat.org/doc/relay/#command_handshake[handshake] command
498194f6
SH
128(it was deprecated since WeeChat 2.9).
129
130The option relay.network.compression_level has been renamed to relay.network.compression
131and is now a percentage between `0` and `100`:
132
133* `0`: disable compression
134* `1`: low compression (fast)
135* `100`: best compression (slow)
136
44e04149
SH
137[[v3.4.1]]
138== Version 3.4.1 (2022-03-13)
139
140Bug fix and maintenance release.
141
018a4bda 142[[v3.4]]
778594d6 143== Version 3.4 (2021-12-18)
018a4bda 144
05d31b47
SH
145[[v3.4_default_triggers]]
146=== Default triggers
cbadaecc 147
05d31b47
SH
148The existing triggers "cmd_pass" and "cmd_pass_register" have been updated to
149hide key and password in command `/msg nickserv setpass <nick> <key> <password>`
150and support the option `-server <name>`.
cbadaecc 151
05d31b47 152You can restore the default triggers with the following command:
cbadaecc
SH
153
154----
05d31b47 155/trigger restore cmd_pass cmd_pass_register
cbadaecc
SH
156----
157
2da21725
SH
158[[v3.4_hdata_search]]
159=== New parameters in function hdata_search
160
161New parameters have been added in function
8ac67ff5 162link:https://weechat.org/doc/plugin/#_hdata_search[hdata_search], used for the
2da21725
SH
163evaluation of expression.
164
165New parameters are the same as function
8ac67ff5 166link:https://weechat.org/doc/plugin/#_string_eval_expression[string_eval_expression]:
2da21725
SH
167
168* pointers: hashtable with pointers (pointers)
169* extra_vars: hashtable with extra variables (strings)
170* options: hashtable with options (strings).
171
172The following scripts are updated consequently to be compatible with all
173WeeChat versions:
174
175* https://weechat.org/scripts/source/autoauth.py/[autoauth.py] 1.3
176* https://weechat.org/scripts/source/buffer_open.py/[buffer_open.py] 0.3
177* https://weechat.org/scripts/source/collapse_channel.py/[collapse_channel.py] 0.9
178* https://weechat.org/scripts/source/grep_filter.py/[grep_filter.py] 0.11
179* https://weechat.org/scripts/source/samechannel.rb/[samechannel.rb] 0.2
180* https://weechat.org/scripts/source/soju.py/[soju.py] 0.1.4
181* https://weechat.org/scripts/source/stalker.pl/[stalker.pl] 1.6.3
182
018a4bda
SH
183[[v3.4_hdata_arrays]]
184=== Static array support in hdata
185
186Support of static array in hdata has been added.
187For pointers to arrays, a prefix `*,` must be added in parameter `array_size`
8ac67ff5 188of API function link:https://weechat.org/doc/plugin/#_hdata_new_var[hdata_new_var].
018a4bda 189
e8cdda31 190[[v3.3]]
3b9217e4 191== Version 3.3 (2021-09-19)
e8cdda31 192
12be3b8c
SH
193[[v3.3_hotlist_keys_clear_restore]]
194=== New keys for hotlist
195
196New keys have been added to manipulate the hotlist:
197
198* kbd:[Alt+h], kbd:[Alt+c]: clear the whole hotlist (former key: kbd:[Alt+h])
199* kbd:[Alt+h], kbd:[Alt+m]: mark the current buffer as read by removing it from the hotlist
200* kbd:[Alt+h], kbd:[Alt+r]: restore latest hotlist removed in the current buffer
201* kbd:[Alt+h], kbd:[Alt+Shift+R]: restore latest hotlist removed in all buffers
202
203You can add them with the following command:
204
205----
206/key missing
207----
208
209Since the key kbd:[Alt+h] has been moved to kbd:[Alt+h], kbd:[Alt+c], you must
210manually remove the old key:
211
212----
213/key unbind meta-h
214----
215
3199877b
SH
216[[v3.3_typing_bar_item]]
217=== Bar item "typing"
218
219A bar item called "typing" has been added to status bar by default. It is used
220to display users that are currently typing a message on the current IRC channel
221or private buffer.
222
fae6bbb4
SH
223If you want to display typing notifications in the status bar, add `,[typing]`
224in your option weechat.bar.status.items.
3199877b 225
a48a6156
SH
226[[v3.3_ordered_hashtables]]
227=== Ordered hashtables
228
229Hashtables entries are now ordered by creation date, the following functions
230are now returning entries sorted by insertion order:
231
232* hashtable_map
233* hashtable_map_string
234* hashtable_get_string (all properties except "keys_sorted" and "keys_values_sorted")
235* hashtable_add_to_infolist
236
ef318cb7
SH
237[[v3.3_irc_default_capabilities]]
238=== IRC default capabilities
239
240All supported capabilities are now enabled by default if the server support
241them:
242
243* account-notify
244* away-notify
245* cap-notify
246* chghost
247* extended-join
248* invite-notify
2205bb6b 249* message-tags
ef318cb7
SH
250* multi-prefix
251* server-time
252* setname
253* userhost-in-names
254
255Two new options have been added and enabled by default to customize the behavior
256of capabilities "account-notify" and "extended-join":
257
fae6bbb4
SH
258* irc.look.display_account_message: display ACCOUNT messages received
259* irc.look.display_extended_join: display extended join info in the JOIN
ef318cb7
SH
260 messages: account name and real name
261
fae6bbb4 262The default value of option irc.server_default.capabilities is now `*` which
ef318cb7
SH
263means that all capabilities supported by both WeeChat and the server are enabled
264by default.
265
266After upgrade, to enable all capabilities and remove custom capabilities you
267have set, you can do:
268
269----
270/set irc.server_default.capabilities "*"
271/unset irc.server.example.capabilities
272----
273
274You can also explicitly disable some capabilities with this syntax
275(see `/help irc.server_default.capabilities`):
276
277----
278/set irc.server_default.capabilities "*,!away-notify,!extended-join"
279----
280
281[[v3.3_irc_sasl_blowfish_aes]]
f2d1acb8 282=== IRC SASL DH-BLOWFISH and DH-AES mechanisms removed
e8cdda31
SH
283
284The SASL mechanisms DH-BLOWFISH and DH-AES have been removed, because they
285are insecure and already removed from most IRC servers. +
286If you were using one of these mechanisms, it is highly recommended to switch
287to any other supported SASL mechanism.
288
289For example:
290
291----
292/set irc.server.example.sasl_mechanism scram-sha-256
293----
294
97b809d1
SH
295[[v3.2.1]]
296== Version 3.2.1 (2021-09-04)
297
298Bug fix and maintenance release.
299
6e528a1d 300[[v3.2]]
70c09f1f 301== Version 3.2 (2021-06-13)
6e528a1d
SH
302
303[[v3.2_xdg_directories]]
304=== XDG directories
305
6fbfb2f4
SH
306Support of XDG directories has been added.
307
308For compatibility, if the XDG directories are not found but `~/.weechat` exists,
309this single directory is used for all files.
6e528a1d
SH
310
311If you want to switch to XDG directories, you must create and move manually
312all files in the appropriate directories. +
313See https://specs.weechat.org/specs/001285-follow-xdg-base-dir-spec.html#weechat-home[WeeChat XDG specification]
314for more information.
315
316Some options have new default value: `%h` is replaced by `${weechat_xxx_dir}`. +
317If you didn't change the value, it is recommended to set the new default value,
318by doing `/unset <option>` on each option:
319
447abad7 320[width="100%",cols="2m,2m,5m",options="header"]
6e528a1d 321|===
447abad7
SH
322| Option | Old default value | New default value
323| fifo.file.path | %h/weechat_fifo | ${weechat_runtime_dir}/weechat_fifo_${info:pid}
324| logger.file.path | %h/logs/ | ${weechat_data_dir}/logs
325| relay.network.ssl_cert_key | %h/ssl/relay.pem | ${weechat_config_dir}/ssl/relay.pem
326| script.scripts.path | %h/script | ${weechat_cache_dir}/script
327| weechat.plugin.path | %h/plugins | ${weechat_data_dir}/plugins
328| xfer.file.download_path | %h/xfer | ${weechat_data_dir}/xfer
6e528a1d
SH
329|===
330
331The following scripts are updated to take care of XDG directories, be sure
332they are all up-to-date, otherwise files may be saved in wrong directories or
333the script may not find some files:
334
335* https://weechat.org/scripts/source/autoconf.py/[autoconf.py] 0.4
336* https://weechat.org/scripts/source/axolotl.py/[axolotl.py] 0.1.1
337* https://weechat.org/scripts/source/beinc.py/[beinc.py] 4.2
338* https://weechat.org/scripts/source/buddylist.pl/[buddylist.pl] 2.1
339* https://weechat.org/scripts/source/bufsave.py/[bufsave.py] 0.5
340* https://weechat.org/scripts/source/chanop.py/[chanop.py] 0.3.4
341* https://weechat.org/scripts/source/chanstat.py/[chanstat.py] 0.2
342* https://weechat.org/scripts/source/colorize_lines.pl/[colorize_lines.pl] 4.0
343* https://weechat.org/scripts/source/confversion.py/[confversion.py] 0.4
344* https://weechat.org/scripts/source/country.py/[country.py] 0.6.2
345* https://weechat.org/scripts/source/cron.py/[cron.py] 0.5
346* https://weechat.org/scripts/source/crypt.py/[crypt.py] 1.4.5
347* https://weechat.org/scripts/source/grep.py/[grep.py] 0.8.5
348* https://weechat.org/scripts/source/growl.py/[growl.py] 1.0.7
349* https://weechat.org/scripts/source/histman.py/[histman.py] 0.8.2
350* https://weechat.org/scripts/source/hl2file.py/[hl2file.py] 0.3
351* https://weechat.org/scripts/source/hotlist2extern.pl/[hotlist2extern.pl] 1.0
352* https://weechat.org/scripts/source/jnotify.pl/[jnotify.pl] 1.2
353* https://weechat.org/scripts/source/latex_unicode.py/[latex_unicode.py] 1.2
354* https://weechat.org/scripts/source/luanma.pl/[luanma.pl] 0.3
355* https://weechat.org/scripts/source/otr.py/[otr.py] 1.9.3
356* https://weechat.org/scripts/source/pop3_mail.pl/[pop3_mail.pl] 0.4
357* https://weechat.org/scripts/source/purgelogs.py/[purgelogs.py] 0.5
358* https://weechat.org/scripts/source/query_blocker.pl/[query_blocker.pl] 1.3
359* https://weechat.org/scripts/source/queryman.py/[queryman.py] 0.6
360* https://weechat.org/scripts/source/queue.py/[queue.py] 0.4.3
361* https://weechat.org/scripts/source/rslap.pl/[rslap.pl] 1.4
362* https://weechat.org/scripts/source/rssagg.pl/[rssagg.pl] 1.3
b7112e40 363* https://weechat.org/scripts/source/slack.py/[slack.py] 2.8.0
6e528a1d
SH
364* https://weechat.org/scripts/source/stalker.pl/[stalker.pl] 1.6.2
365* https://weechat.org/scripts/source/substitution.rb/[substitution.rb] 0.0.2
366* https://weechat.org/scripts/source/triggerreply.py/[triggerreply.py] 0.4.3
367* https://weechat.org/scripts/source/update_notifier.py/[update_notifier.py] 0.6
368* https://weechat.org/scripts/source/url_olde.py/[url_olde.py] 0.8
369* https://weechat.org/scripts/source/urlserver.py/[urlserver.py] 2.6
370* https://weechat.org/scripts/source/weetext.py/[weetext.py] 0.1.3
371* https://weechat.org/scripts/source/zncplayback.py/[zncplayback.py] 0.2.1
372
373To check if XDG directories are used, you can run command `/debug dirs`, which
374should show different directories for config/data/cache/runtime, like this:
375
376----
377Directories:
378 home:
379 config: /home/user/.config/weechat
380 data: /home/user/.local/share/weechat
381 cache: /home/user/.cache/weechat
382 runtime: /run/user/1000/weechat
383 lib: /usr/lib/x86_64-linux-gnu/weechat
384 lib (extra): -
385 share: /usr/share/weechat
386 locale: /usr/share/locale
387----
388
fae6bbb4 389With the legacy `~/.weechat` directory, the output would be:
6e528a1d
SH
390
391----
392Directories:
393 home:
394 config: /home/user/.weechat
395 data: /home/user/.weechat
396 cache: /home/user/.weechat
397 runtime: /home/user/.weechat
398 lib: /usr/lib/x86_64-linux-gnu/weechat
399 lib (extra): -
400 share: /usr/share/weechat
401 locale: /usr/share/locale
402----
403
11b311ce
SH
404[[v3.2_gnutls_ca]]
405=== GnuTLS certificate authorities
406
407A new option has been added to load system's default trusted certificate
fae6bbb4 408authorities on startup: weechat.network.gnutls_ca_system (boolean, enabled
11b311ce
SH
409by default).
410
fae6bbb4
SH
411The option weechat.network.gnutls_ca_file has been renamed to
412weechat.network.gnutls_ca_user and is now used for extra certificates
11b311ce
SH
413(not the system ones). +
414This option now supports multiple files, separated by colons.
415
fae6bbb4
SH
416If you have set a user CA file in option weechat.network.gnutls_ca_file,
417then you must set this same value in the new option weechat.network.gnutls_ca_user.
11b311ce
SH
418
419When one of these options are changed, all certificates are purged and reloaded
420from files.
421
9ac3f887
SH
422[[v3.2_split_commands_before_eval]]
423=== Split of commands before evaluation
424
425The split of commands is now performed before the evaluation of string, in the
426following cases:
427
fae6bbb4 428* IRC server option irc.server_default.command or irc.server.xxx.command
9ac3f887 429* startup option with command line parameter `-r` / `--run-command`
fae6bbb4 430* options weechat.startup.command_before_plugins and weechat.startup.command_after_plugins.
9ac3f887
SH
431
432If ever you used here multiple commands that are found by evaluation, then
433you must use multiple commands directly.
434
435For example if you did this:
436
437----
438/secure set commands "/command1 secret1;/command2 secret2"
f55dcde4 439/set irc.server.libera.command "${sec.data.commands}"
9ac3f887
SH
440----
441
442This will now execute a single command: `/command1` with two parameters:
443`secret1;/command2` and `secret2`, which is not what you expect.
444
445So you must now do this instead:
446
447----
448/secure set command1 "/command1 secret1"
449/secure set command2 "/command2 secret2"
f55dcde4 450/set irc.server.libera.command "${sec.data.command1};${sec.data.command2}"
9ac3f887
SH
451----
452
453You could also do this, but be careful, there are two evaluations of strings
454(the secured data itself is evaluated as well):
455
456----
457/secure set commands "/command1 secret1;/command2 secret2"
f55dcde4 458/set irc.server.libera.command "/eval -s ${sec.data.commands}"
9ac3f887
SH
459----
460
7b1b482c 461[[v3.1]]
ae2f2510 462== Version 3.1 (2021-03-07)
7b1b482c 463
f1c681c8
SH
464[[v3.1_secure_data_passphrase_command]]
465=== External program to read secured data passphrase
466
467A new option `sec.crypt.passphrase_command` has been added to read the passphrase
468from the output of an external program (like a password manager).
469
470The option `sec.crypt.passphrase_file` has been removed, because the command
471can now read a file as well. If you used a file to read the passphrase, you
472must now setup the command like this:
473
474----
475/set sec.crypt.passphrase_command "cat ~/.weechat-passphrase"
476----
477
478For security reasons, it is of course highly recommended to use a password manager
479or a program to decrypt a file with your passphrase rather than using a file with
480the clear password. +
481For example with password-store (command `pass`):
482
483----
a02a2fba 484/set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"
f1c681c8
SH
485----
486
7dd7da1d
SH
487[[v3.1_window_splitv]]
488=== Vertical split of windows
489
490The vertical split of windows has been fixed (see issue #1612): now the new
491window has the asked size, instead of the original window.
492
493For example with this command the new window (on the right) has size 80% instead
494of 20% in previous releases:
495
496----
497/window splitv 80
498----
499
7b1b482c
SH
500[[v3.1_command_buffer_listvar]]
501=== List of buffer local variables
502
503The command `/buffer localvar` has been renamed to `/buffer listvar`.
504
505The option `localvar` is still supported to stay compatible with scripts
506calling it or referencing it in the documentation. +
507It is deprecated and will be removed in a future release.
508
509New options `setvar` and `delvar` were also added in command `/buffer`,
510see `/help buffer`.
511
7dd7da1d
SH
512[[v3.1_buflist_option_use_items]]
513=== Buflist option buflist.look.use_items
514
515A new buflist option `buflist.look.use_items` has been added to speed up
516display of buflist, in case you use a single buflist item (the most common use case).
517
518If ever you use more than one item (item "buflist2" or even "buflist3"), you
519must adjust the value of the new option, which defaults to 1:
520
521----
522/set buflist.look.use_items 2
523----
524
42a86f0a
SH
525[[v3.0.1]]
526== Version 3.0.1 (2021-01-31)
527
528Bug fix and maintenance release.
529
e0e905ca 530[[v3.0]]
72936fd3 531== Version 3.0 (2020-11-11)
e0e905ca 532
3c987f3a
SH
533[[v3.0_script_option_download_enabled]]
534=== New option to enable download of scripts
535
536A new option has been added to allow the script plugin to download the list of
537scripts and the scripts themselves (on weechat.org by default).
538
539This option is `off` by default, so you must opt in if you want to use the
540`/script` command, even if you upgraded from an old WeeChat version:
541
542----
543/set script.scripts.download_enabled on
544----
545
546[NOTE]
547When this option is enabled, WeeChat can sometimes download again the list of
548scripts when you use the `/script` command, even if you don't install a script.
549
84e30438
SH
550[[v3.0_irc_commands_allchan_allpv_allserv]]
551=== IRC commands /allchan, /allpv and /allserv
552
553The command and arguments given to commands `/allchan`, `/allpv` and `/allserv`
fae6bbb4 554are now evaluated (see `/help` on the commands for more information).
84e30438
SH
555
556Additionally, a breaking change has been introduced: the leading `/` is now
557required in these commands, so this allows to send text to buffers without
558using the command `/msg * xxx`.
559
560So with previous releases, to say "hello" on all channels:
561
562----
563/allchan msg * hello
564----
565
566Now it can be done like this:
567
568----
569/allchan hello
570----
571
572If you want to use a command, you must add explicitly the leading `/`:
573
574----
575/allchan /msg * hello
576----
577
e0e905ca 578[[v3.0_trigger_beep]]
cbadaecc 579=== Default trigger "beep"
e0e905ca
SH
580
581The command of "beep" trigger is now executed only if the message does NOT
582contain the tag "notify_none" (in addition to existing conditions).
583
cbadaecc 584You can restore the default trigger "beep" with the following command:
e0e905ca
SH
585
586----
587/trigger restore beep
588----
589
8bdd540d 590[[v2.9]]
c096750e 591== Version 2.9 (2020-07-18)
8bdd540d 592
b0ecbdbf
SH
593[[v2.9_bar_color_bg_inactive]]
594=== New background color for inactive bars
595
fae6bbb4 596A new option has been added in bar: "color_bg_inactive". It is used for window
b0ecbdbf
SH
597bars, when the window is not the active window.
598
599By default this color is set to "default" for default bars, except for status
600and title: the color is set to "darkgray".
601
602If you upgrade from a previous release, the color will be "default" for all
603bars, so if you want to use the new default settings, you can do:
604
605----
606/set weechat.bar.title.color_bg_inactive darkgray
607/set weechat.bar.status.color_bg_inactive darkgray
608----
609
fae6bbb4
SH
610If you changed the option "color_bg" in some bars, you should also adjust
611the new option "color_bg_inactive", depending on your needs.
b0ecbdbf 612
8ac67ff5 613The function link:https://weechat.org/doc/plugin/#_bar_new[bar_new] in API is updated,
fae6bbb4 614so this is an incompatible change: all plugins and scripts calling this function must be updated.
b0ecbdbf
SH
615
616The following scripts are updated consequently to be compatible with all
617WeeChat versions:
618
619* https://weechat.org/scripts/source/buddylist.pl/[buddylist.pl] 2.0
620* https://weechat.org/scripts/source/buffers.pl/[buffers.pl] 5.7
621* https://weechat.org/scripts/source/chanmon.pl/[chanmon.pl] 2.6
622* https://weechat.org/scripts/source/chanop.py/[chanop.py] 0.3.2
623* https://weechat.org/scripts/source/highmon.pl/[highmon.pl] 2.7
624* https://weechat.org/scripts/source/iset.pl/[iset.pl] 4.4
625* https://weechat.org/scripts/source/menu.pl/[menu.pl] 1.0
626* https://weechat.org/scripts/source/moc_control.py/[moc_control.py] 1.9
627* https://weechat.org/scripts/source/newsbar.pl/[newsbar.pl] 0.19
628* https://weechat.org/scripts/source/pv_info.pl/[pv_info.pl] 0.0.6
629* https://weechat.org/scripts/source/rssagg.pl/[rssagg.pl] 1.2
630* https://weechat.org/scripts/source/urlbar.py/[urlbar.py] 14
631* https://weechat.org/scripts/source/urlselect.lua/[urlselect.lua] 0.5
632* https://weechat.org/scripts/source/vimode.py/[vimode.py] 0.8
633
35053240
SH
634[[v2.9_modifier_weechat_print]]
635=== New modifier_data for modifier "weechat_print"
636
637The modifier "weechat_print" has been fixed and the content of "modifier_data"
638sent to the callback has changed (see issue #42).
639
72dbae0d
SH
640This is an incompatible change, therefore all plugins, scripts and triggers
641using this modifier and the "modifier_data" argument must be updated.
35053240
SH
642
643The old format contained plugin name + ";" + buffer name + ";" + tags:
644
645----
f55dcde4 646irc;libera.#weechat;tag1,tag2,tag3
35053240
SH
647----
648
649The new format contains buffer pointer + ";" + tags:
650
651----
6520x123abc;tag1,tag2,tag3
653----
654
655The following scripts are updated consequently to be compatible with all
656WeeChat versions:
657
6e528a1d 658* https://weechat.org/scripts/source/colorize_lines.pl/[colorize_lines.pl] 3.9
35053240
SH
659* https://weechat.org/scripts/source/colorize_nicks.py/[colorize_nicks.py] 27
660* https://weechat.org/scripts/source/colorizer.rb/[colorizer.rb] 0.2
661* https://weechat.org/scripts/source/curiousignore.pl/[curiousignore.pl] 0.4
662* https://weechat.org/scripts/source/format_lines.pl/[format_lines.pl] 1.6
663* https://weechat.org/scripts/source/identica.py/[identica.py] 0.4.3
664* https://weechat.org/scripts/source/mass_hl_blocker.pl/[mass_hl_blocker.pl] 0.2
665* https://weechat.org/scripts/source/noirccolors.py/[noirccolors.py] 0.4
666* https://weechat.org/scripts/source/parse_relayed_msg.pl/[parse_relayed_msg.pl] 1.9.3
667* https://weechat.org/scripts/source/unhighlight.py/[unhighlight.py] 0.1.3
668* https://weechat.org/scripts/source/weemoticons.py/[weemoticons.py] 0.3
669
88bef0b1
SH
670[[v2.9_api_completion_functions]]
671=== Move of API completion functions
672
673Completion functions have been added in WeeChat 2.9, to allow relay clients or
674plugins/scripts to complete a string, without using the buffer input.
675
676Therefore two functions have been renamed in API and moved to the new
677"completion" category:
678
8ac67ff5
SH
679* hook_completion_get_string => link:https://weechat.org/doc/plugin/#_completion_get_string[completion_get_string]
680* hook_completion_list_add => link:https://weechat.org/doc/plugin/#_completion_list_add[completion_list_add]
88bef0b1
SH
681
682[NOTE]
683The old names are still valid for compatibility reasons, but it is recommended
684to use only the new names as the old ones may be removed in an upcoming release.
685
7f1aeae5
SH
686[[v2.9_gnutls_required_dependency]]
687=== GnuTLS is now a required dependency
e130ee73
SH
688
689The build options `ENABLE_GNUTLS` (in CMake) and `--disable-gnutls` (in autotools)
690have been removed. That means now GnuTLS is always compiled and used in WeeChat.
691
692Motivations:
693
694* communications encryption should be built-in, not optional
695* GnuTLS library should be available everywhere
696* reduce complexity of code and tests of builds.
697
0d126c44
SH
698[[v2.9_trigger_cmd_pass_remove_set_command]]
699=== The trigger "cmd_pass" does not hide any more values of /set command
9fa3609c 700
0d126c44
SH
701The default trigger "cmd_pass" does not hide any more values of options in `/set`
702command which contain "password" in the name.
9fa3609c 703
0d126c44
SH
704The reason is that it was masking values of options that contains the word
705"password" but the value is not a password and does not contain sensitive data,
706for example these options were affected:
9fa3609c 707
0d126c44
SH
708* irc.look.nicks_hide_password
709* relay.network.allow_empty_password
710* relay.network.password_hash_algo
711* relay.network.password_hash_iterations
9fa3609c 712
0d126c44
SH
713Since all real password options are now evaluated, it is recommended to use
714secure data to store the passwords ciphered in config file. +
715By using secure data, the passwords are never displayed on screen (even with
716`/set` command) nor written in log files.
9fa3609c 717
0d126c44 718For example you can do that:
9fa3609c 719
0d126c44
SH
720----
721/secure passphrase my_secret_passphrase
f55dcde4
SH
722/secure set libera my_password
723/set irc.server.libera.sasl_password "${sec.data.libera}"
0d126c44 724----
9fa3609c 725
0d126c44 726This will be displayed like that in WeeChat, using the new regex value of
fae6bbb4 727"cmd_pass" trigger:
9fa3609c 728
0d126c44
SH
729----
730/secure passphrase ********************
f55dcde4
SH
731/secure set libera ***********
732/set irc.server.libera.sasl_password "${sec.data.libera}"
0d126c44
SH
733----
734
735If you want to use the new trigger regex after upgrade, you can do:
736
737----
738/trigger restore cmd_pass
739----
740
741If ever you prefer the old trigger regex, you can change it like that:
742
743----
744/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:+}}"
745----
9fa3609c 746
8bdd540d
SH
747[[v2.9_trigger_command_eval]]
748=== Evaluation of trigger command arguments
749
750The arguments for a trigger command (except the command itself) are now evaluated.
751
752That means you can use for example new lines in the command description, like that:
753
754----
755/trigger add test command "test;test command;arg1 arg2;arg1: description 1${\n}arg2: description 2"
756----
757
758The command `/help test` will display this help in WeeChat:
759
760----
761[trigger] /test arg1 arg2
762
763test command
764
765arg1: description 1
766arg2: description 2
767----
768
0d126c44
SH
769[[v2.9_relay_weechat_protocol_handshake_nonce]]
770=== Add of handshake and nonce in weechat relay protocol
771
772==== Handshake
773
fae6bbb4
SH
774A `handshake` command has been added in weechat relay protocol. +
775The client should send this command before the `init` to negotiate the way to
0d126c44
SH
776authenticate with the relay server.
777
8ac67ff5 778See the link:https://weechat.org/doc/relay/#command_handshake[handshake command]
0d126c44
SH
779in Relay protocol doc for more information.
780
781==== Server "nonce"
782
783Furthermore, a "nonce" is now generated for each client connecting and must be
fae6bbb4 784used by the client in case of hashed password in the `init` command. +
0d126c44
SH
785The goal is to prevent replay attacks in case someone manages to read exchanges
786between the client and relay.
787
788When hashing the password, the client must use salt composed by this nonce
789as binary (it is hexadecimal and must be base16-decoded), concatenated with
790a client nonce after this one. +
791So the hash is computed on: (`server nonce` + `client nonce` + `password`).
792
793This salt is now mandatory even for algorithms `SHA256` and `SHA512`; this is
794a breaking change in protocol, needed for security reasons.
795
8ac67ff5 796See the link:https://weechat.org/doc/relay/#command_init[init command]
0d126c44
SH
797in Relay protocol doc for more information.
798
c29b45a0 799[[v2.8]]
7d5dc53c 800== Version 2.8 (2020-03-29)
c29b45a0
SH
801
802[[v2.8_auto_connection_to_servers]]
803=== Auto connection to servers
804
805The command line option `-a` (or `--no-connect`), which can also be used in the
806`/plugin` command, is now used to set a new info called `auto_connect`
8ac67ff5 807(see the function link:https://weechat.org/doc/plugin/#_info_get[info_get] in the Plugin API reference).
c29b45a0
SH
808
809Therefore, the option is not sent any more to the function `weechat_plugin_init`
810of plugins. +
811The plugins using this option must now get the info `auto_connect` and check
812if the value is "1" (a string with just `1`).
813
814The purpose of this change is to allow scripts as well to check this info on
815startup, and connect or not, depending on the value (see issue #1453).
816
817To be compatible with WeeChat ≤ 2.7, the script can do this, for example
818in Python:
819
820[source,python]
821----
822auto_connect = weechat.info_get("auto_connect", "") != "0"
823----
824
825The variable `auto_connect` will be set like that, depending on the WeeChat
826version:
827
828* WeeChat ≤ 2.7: always `True` because the info is an empty string (it does not
829 exist), which is different from "0",
830* WeeChat ≥ 2.8: `True` by default, and `False` if `-a` or `--no-connect` is
831 given by the user (either on command line or when loading the plugin).
832
ff4e9d6e
SH
833[[v2.7.1]]
834== Version 2.7.1 (2020-02-20)
835
836Bug fix and maintenance release.
837
0109c519 838[[v2.7]]
236dbe3f 839== Version 2.7 (2019-12-08)
0109c519
SH
840
841[[v2.7_cmake_errors]]
842=== CMake errors on missing dependencies
843
844When compiling WeeChat with CMake (which is the recommended way), errors are
4f7a51f7
SH
845now displayed on any missing dependency, if the optional feature was enabled
846(most features are automatically enabled, except documentation, man page and
847tests).
0109c519
SH
848
849Any error on a missing dependency is fatal, so WeeChat can not be compiled.
850This is a new behavior compared to old versions, where any missing dependency
851was silently ignored and the compilation was possible anyway.
852
853For example if PHP is not installed on your system, CMake will display an error
854on missing PHP library:
855
856----
857-- checking for one of the modules 'php7'
858CMake Warning at cmake/FindPHP.cmake:57 (message):
859 Could not find libphp7. Ensure PHP >=7.0.0 development libraries are
860 installed and compiled with `--enable-embed`. Ensure `php-config` is in
861 `PATH`. You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing
862 libphp7.
863Call Stack (most recent call first):
864 src/plugins/CMakeLists.txt:157 (find_package)
865
866
867CMake Error at src/plugins/CMakeLists.txt:161 (message):
868 Php not found
869----
870
871Then you can either install PHP or explicitly disable PHP if you don't need this
872plugin, using this cmake option:
873
874----
875cmake .. -DENABLE_PHP=OFF
876----
877
577a9322
SH
878[[v2.7_python3_callbacks_strings]]
879=== Strings received in Python 3 callbacks
880
881The strings sent to script callbacks in Python 3 are now automatically converted
882according to the content:
883
884* if the string is valid UTF-8, it is sent as `str` (legacy behavior)
885* if the string is not valid UTF-8, it is sent as `bytes` (new).
886
887In some cases only, the string may not be valid UTF-8, so it is received as
888`bytes` in the callback, which must take care of that.
889
890For more information, see the WeeChat scripting guide: chapter about strings
891received in callbacks (see also issue #1389).
892
893Note: there are no changes for Python 2 (which is now deprecated and should not
894be used any more), the strings sent to callbacks are always of type `str`, and
895may contain invalid UTF-8 data, in the cases mentioned in the WeeChat scripting
896guide.
897
39b6fb61
SH
898[[v2.7_irc_message_decoding]]
899=== IRC message decoding/encoding
900
901A new server option called "charset_message" has been added, replacing the
fae6bbb4 902option irc.network.channel_encode.
39b6fb61
SH
903
904This new server option has three possible values:
905
906* _message_ (default): the whole IRC message is decoded/encoded, this is the
907 new default behavior; in case of problem with channel names, try to use
908 _text_ instead
909* _channel_: the message is decoded/encoded starting at the channel name (or
910 the text if no channel is present); this is like setting the old option
fae6bbb4 911 irc.network.channel_encode to `on`
39b6fb61
SH
912* _text_: the message is decoded/encoded starting from the text (for example
913 the user message); this is like setting the old option
fae6bbb4 914 irc.network.channel_encode to `off` (so this was the default behavior
39b6fb61
SH
915 in previous versions)
916
3c0bdc18
SH
917[[v2.7_xfer_file_receive_suffix]]
918=== Suffix for files received via DCC
919
920Files received via DCC (xfer plugin) now have a suffix ".part" during the
921transfer. When the transfer is successful, the suffix is removed.
922
fae6bbb4 923This suffix can be customized with the new option xfer.file.download_temporary_suffix.
3c0bdc18
SH
924
925If you prefer the legacy behavior (no suffix added), you can set an empty value
926in the new option:
927
928----
929/set xfer.file.download_temporary_suffix ""
930----
931
789fa972 932[[v2.6]]
74778452 933== Version 2.6 (2019-09-08)
789fa972 934
0884c9b3
SH
935[[v2.6_python3_default]]
936=== Python 3 by default
937
938Python 3 is now used by default to compile the "python" plugin (no fallback
939on Python 2).
940
941The CMake option `ENABLE_PYTHON3` has been renamed to `ENABLE_PYTHON2`
942(configure option `--enable-python2`). If this option is enabled, the "python"
943plugin is built with Python 2 (no fallback on Python 3).
944
608ec9f4
SH
945[[v2.6_nick_colors]]
946=== Nick colors
947
948The function to compute the colors based on the nick letters has been fixed
949(now the function uses only a 64-bit integer even if the underlying architecture
950is 32-bit).
951
952If you're running WeeChat on a 32-bit architecture and want to keep same colors
953as the previous releases, you can use one of the two new hash values.
954
955If you were using "djb2", you can switch to "djb2_32":
956
957----
958/set weechat.look.nick_color_hash djb2_32
959----
960
961If you were using "sum", you can switch to "sum_32":
962
963----
964/set weechat.look.nick_color_hash sum_32
965----
966
57aa9e06 967[[v2.5]]
2904a2e8 968== Version 2.5 (2019-06-06)
57aa9e06
SH
969
970[[v2.5_aspell_plugin_renamed]]
971=== Aspell plugin renamed to Spell
972
7b0507bb
SH
973The "aspell" plugin has been renamed to "spell", a more generic term, because
974it supports aspell and also enchant.
57aa9e06
SH
975
976Consequently, the following things have been renamed as well:
977
fae6bbb4
SH
978* file aspell.conf => spell.conf (the content of the file has not changed, so you can just rename the file to keep your changes)
979* options aspell.* => spell.*
980* command `/aspell` => `/spell`
981* default key kbd:[Alt+s] => `/mute spell toggle`
982* bar item aspell_dict => spell_dict
983* bar item aspell_suggest => spell_suggest
984* info aspell_dict => spell_dict
57aa9e06 985
cccd4f07
SH
986If you are upgrading from a previous release, you can copy the config file
987before doing `/upgrade`, in WeeChat:
988
989----
990/save aspell
991/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
992/upgrade
993----
994
995If you already upgraded WeeChat:
996
997----
998/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
999/reload spell
1000----
1001
fae6bbb4 1002Once configuration is OK, you can delete the file `~/.weechat/aspell.conf`.
917b2ddf 1003
cccd4f07
SH
1004Then you can search if you are using "aspell" in values of options:
1005
1006----
1007/fset =aspell
1008----
1009
1010If there are options displayed, replace "aspell" by "spell" in values.
1011
21c02a03
SH
1012The default key kbd:[Alt+s] can be changed to the new `/spell` command:
1013
1014----
1015/key bind meta-s /mute spell toggle
1016----
1017
c4a482e0
SH
1018[[v2.5_xfer_option_speed_limit]]
1019=== Speed limit option for DCC files
1020
fae6bbb4 1021The option xfer.network.speed_limit has been renamed to xfer.network.speed_limit_send.
c4a482e0
SH
1022
1023If you changed the value of this option, you must set it again after upgrade.
1024
fae6bbb4 1025A new option xfer.network.speed_limit_recv has been added to limit the
c4a482e0
SH
1026speed of received files.
1027
1028[[v2.5_hook_info_allocated_string]]
1029=== Allocated string in hook info and function info_get
1030
1031The hook info callback now returns an allocated string, which must be freed
1032after use (in previous versions, a pointer to a static string was returned).
1033
1034Consequently, the function info_get returns an allocated string, which must
1035be freed after use.
1036
1037This affects only C code, no changes are required in scripts.
1038
ed3f281b 1039[[v2.4]]
ff6ae69c 1040== Version 2.4 (2019-02-17)
ed3f281b 1041
1a34f871
SH
1042[[v2.4_nick_completer]]
1043=== Nick completer
1044
1045A space is not added automatically any more when you complete a nick at the
4ef149b5
SH
1046beginning of command line. +
1047Purpose of this change is to be more flexible: you can choose whether the space
1048is added or not (it was always added in previous releases).
1a34f871 1049
5a681f3c 1050The default value of option `weechat.completion.nick_completer` has been changed
4ef149b5
SH
1051to add the space by default, but the value of option is not changed automatically
1052on upgrade.
1053
1054So you can run this command if you upgraded from an old version
1055and want the space still added automatically:
1a34f871
SH
1056
1057----
1058/set weechat.completion.nick_completer ": "
1059----
1060
ed3f281b
SH
1061[[v2.4_api_base64_functions]]
1062=== Base64 API functions
1063
1064The functions to encode/decode base64 strings have been renamed and now support
1065base 16, 32, and 64.
1066
1067New functions in C API, supporting base 16, 32, and 64:
1068
8ac67ff5
SH
1069* link:https://weechat.org/doc/plugin/#_string_base_encode[string_base_encode]
1070* link:https://weechat.org/doc/plugin/#_string_base_decode[string_base_decode]
ed3f281b
SH
1071
1072Functions removed from C API:
1073
1074* string_encode_base64
1075* string_decode_base64
1076
6620f40e
SH
1077[[v2.3]]
1078== Version 2.3 (2018-10-21)
1079
1080No release note.
1081
5f2ed55c 1082[[v2.2]]
c47916ac 1083== Version 2.2 (2018-07-14)
5f2ed55c 1084
24d2413f
SH
1085[[v2.2_default_hotlist_conditions]]
1086=== Default conditions for hotlist
1087
1088The default value for option `weechat.look.hotlist_add_conditions` has been
1089changed to take care about the number of connected clients on the relay
1090with weechat protocol: if at least one client is connected, the buffer is
1091always added to the hotlist.
1092
1093The new value contains three conditions, if one of them is true, the buffer
1094is added to the hotlist:
1095
1096* `${away}`: true if you are away on the server matching the buffer,
1097* `${buffer.num_displayed} == 0`: true if the buffer is not displayed in any
1098 window
41d5cdd1
SH
1099* `${info:relay_client_count,weechat,connected} > 0`: true if at least
1100 one client is connected on a weechat relay (new condition).
24d2413f
SH
1101
1102To use the new default value, you can reset the option with this command:
1103
1104----
1105/unset weechat.look.hotlist_add_conditions
1106----
1107
1108Or set explicitly the value:
1109
1110----
1111/set weechat.look.hotlist_add_conditions "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0"
1112----
1113
1587674e
SH
1114[[v2.2_default_triggers]]
1115=== Default triggers
1116
53fedfe4
SH
1117The existing triggers "cmd_pass" and "msg_auth" have been updated to hide
1118password in command `/msg nickserv set password` and support the option
05d31b47 1119`-server <name>`.
1587674e 1120
53fedfe4 1121You can restore the default triggers with the following command:
1587674e
SH
1122
1123----
53fedfe4 1124/trigger restore cmd_pass msg_auth
1587674e
SH
1125----
1126
2802457c
SH
1127[[v2.2_irc_signals_tags]]
1128=== Tags in IRC "in" signals
1129
3fc0ce7d 1130The IRCv3 tags are now sent in these IRC signals for received messages
fae6bbb4 1131(`xxx` is IRC server name, `yyy` is IRC command name):
2802457c 1132
fae6bbb4
SH
1133* `xxx,irc_in_yyy`
1134* `xxx,irc_in2_yyy`
1135* `xxx,irc_raw_in_yyy`
1136* `xxx,irc_raw_in2_yyy`
2802457c
SH
1137
1138This could break plugins or scripts that parse IRC messages and don't expect
1139to receive tags (even if tags *are* part of the IRC message, so this was a bug
1140in the IRC signals).
1141
1142See issue #787 for more information.
1143
1144[NOTE]
1145It is recommended for plugins and scripts to use the WeeChat IRC parser:
8ac67ff5 1146see the function link:https://weechat.org/doc/plugin/#_info_get_hashtable[info_get_hashtable]
fae6bbb4 1147in the Plugin API reference.
2802457c
SH
1148
1149Now the whole IRC message is received by the signal callback, for example:
1150
1151----
1152@tag1=abc;tag2=def :nick!user@host PRIVMSG #test :this is a test
1153----
1154
1155In older releases, this message was received:
1156
1157----
1158:nick!user@host PRIVMSG #test :this is a test
1159----
1160
5f2ed55c
SH
1161[[v2.2_debian_headless_package]]
1162=== New Debian package for headless version
1163
fae6bbb4
SH
1164A new Debian package has been added: "weechat-headless" which contains the
1165binary "weechat-headless" and its man page.
5f2ed55c 1166
fae6bbb4 1167In version 2.1, this binary was in the package "weechat-curses".
5f2ed55c 1168
40749afc 1169[[v2.1]]
47e38255 1170== Version 2.1 (2018-03-18)
40749afc 1171
c4a482e0
SH
1172[[v2.1_option_name_completion]]
1173=== Completion for /set and /help commands
1174
1175A new option weechat.completion.partial_completion_templates has been added to
1176force partial completion on some templates. By default, the option name
1177completed in `/set` and `/help` commands are now using partial completion.
1178
1179If you prefer old behavior, you can remove the templates from the new option
1180with this command:
1181
1182----
1183/set weechat.completion.partial_completion_templates ""
1184----
1185
1186For more information about this feature, you can read help with:
1187
1188----
1189/help weechat.completion.partial_completion_templates
1190----
1191
21e63e79
SH
1192[[v2.1_script_plugin_check_license]]
1193=== Option to check license of scripts loaded
1194
fae6bbb4
SH
1195A configuration file has been added for each script plugin: python.conf,
1196perl.conf, ruby.conf, ...
21e63e79
SH
1197
1198Therefore the option to check license of loaded scripts has been moved from
fae6bbb4
SH
1199plugins.var.<language>.check_license (type: string) to the plugin
1200configuration file (type: boolean, default is `off`).
21e63e79
SH
1201
1202List of options moved:
1203
fae6bbb4
SH
1204* plugins.var.python.check_license (string) => python.look.check_license (boolean)
1205* plugins.var.perl.check_license (string) => perl.look.check_license (boolean)
1206* plugins.var.ruby.check_license (string) => ruby.look.check_license (boolean)
1207* plugins.var.lua.check_license (string) => lua.look.check_license (boolean)
1208* plugins.var.tcl.check_license (string) => tcl.look.check_license (boolean)
1209* plugins.var.guile.check_license (string) => guile.look.check_license (boolean)
1210* plugins.var.javascript.check_license (string) => javascript.look.check_license (boolean)
1211* plugins.var.php.check_license (string) => php.look.check_license (boolean)
21e63e79 1212
6f64cd0c
SH
1213[[v2.0.1]]
1214== Version 2.0.1 (2017-12-20)
1215
1216Bug fix and maintenance release.
1217
5392e307 1218[[v2.0]]
f0a06cc8 1219== Version 2.0 (2017-12-03)
5392e307 1220
a7522d8e
SH
1221[[v2.0_fset_plugin]]
1222=== Fset plugin
1223
1224A new plugin "fset" has been added, it replaces the script iset.pl and has many
1225new features.
1226
1227By default the fset plugin changes the behavior of `/set` command when it is
1228used with only an option name: it opens the fset buffer if at least one option
1229is found.
1230
1231The old behavior was to display the list of options in the core buffer.
1232
1233If you prefer the old behavior, you can restore it with this command:
1234
1235----
1236/set fset.look.condition_catch_set ""
1237----
1238
1239For more information about this feature, you can read help with:
1240
1241----
1242/help fset.look.condition_catch_set
1243----
1244
b55c1582
SH
1245[[v2.0_debian_packaging]]
1246=== Split of scripting Debian packages
1247
1248The Debian packaging has changed (for now only on weechat.org repositories,
1249not in Debian official repositories). +
fae6bbb4 1250The package "weechat-plugins" has been split into 9 packages:
b55c1582
SH
1251
1252- weechat-plugins (with only the following plugins: aspell, exec, fifo, relay,
1253 script, trigger)
1254- weechat-python
1255- weechat-perl
1256- weechat-ruby
1257- weechat-lua
1258- weechat-tcl
1259- weechat-guile
1260- weechat-javascript
1261- weechat-php.
1262
1263If you are using the packages from weechat.org, you will have to install
1264manually the scripting packages (according to the languages you'll use
1265in WeeChat), for example Python/Perl only:
1266
1267----
1268sudo apt-get install weechat-python weechat-perl
1269----
1270
1271For development packages:
1272
1273----
1274sudo apt-get install weechat-devel-python weechat-devel-perl
1275----
1276
8c046d9b
SH
1277[[v2.0_buflist_eval]]
1278=== Evaluation in buflist
1279
1280The evaluation of expressions in buflist options is not recursive any more,
1281to prevent too many evaluations, for example in buffer variables
1282(see issue #1060 for more information). +
1283If you are using custom variables/options containing evaluated expressions,
1284like `${some.config.option}`, and if this option contains evaluated strings (`${...}`),
1285you must evaluate them with: `${eval:${some.config.option}}`.
1286
1287[NOTE]
1288The default buflist formats (`${format_buffer}`, `${format_name}`,
fae6bbb4
SH
1289`${format_hotlist}`, ...) are automatically evaluated in options buflist.format.buffer,
1290buflist.format.buffer_current and buflist.format.hotlist.
8c046d9b 1291
bfef8da8
SH
1292[[v2.0_hook_connect]]
1293=== Function hook_connect
1294
fae6bbb4
SH
1295In scripts, the arguments "status", "gnutls_rc" and "sock" sent to the callback
1296of "hook_connect" are now integers (they were strings in older releases). +
bfef8da8
SH
1297To be compatible with all versions, it is recommended to convert the argument
1298to integer before using it, for example in Python: `int(sock)`.
1299
5392e307
SH
1300[[v2.0_hook_fd]]
1301=== Function hook_fd
1302
fae6bbb4 1303In scripts, the argument "fd" sent to the callback of "hook_fd" is now
71e59b09 1304an integer (it was a string in older releases). +
5392e307
SH
1305To be compatible with all versions, it is recommended to convert the argument
1306to integer before using it, for example in Python: `int(fd)`.
1307
1876af75
SH
1308[[v1.9.1]]
1309== Version 1.9.1 (2017-09-23)
1310
1311Bug fix and maintenance release.
1312
1206a7bb
SH
1313[[v1.9]]
1314== Version 1.9 (2017-06-25)
1315
1316No release note.
1317
b29f18d7 1318[[v1.8]]
664cb659 1319== Version 1.8 (2017-05-13)
5ba10f41 1320
a9f6c34f
SH
1321[[v1.8_buflist_plugin]]
1322=== Buflist plugin
1323
1324A new plugin called "buflist" has been added, it replaces the script "buffers.pl".
1325
1326If the script is installed, you will see two sidebars with list of buffers.
1327
90a9a1fb
SH
1328If you fell in love with buflist and that the script buffers.pl is installed,
1329you can uninstall the script and remove its bar with these commands:
a9f6c34f
SH
1330
1331----
1332/script remove buffers.pl
1333/bar del buffers
1334----
1335
90a9a1fb
SH
1336If you don't want the list of buffers, you can disable buflist:
1337
1338----
1339/set buflist.look.enabled off
1340----
1341
1342To save extra memory, you can even unload the buflist plugin, remove the bar and
1343prevent the plugin from loading on next startup:
1344
1345----
1346/plugin unload buflist
1347/bar del buflist
1348/set weechat.plugin.autoload "*,!buflist"
1349----
1350
c4a482e0
SH
1351[[v1.8_options]]
1352=== Options
1353
fae6bbb4 1354The option script.scripts.url_force_https has been removed because now the
c4a482e0 1355site weechat.org can only be used with HTTPS. +
fae6bbb4 1356Both HTTP and HTTPS protocols are allowed in the option script.scripts.url.
c4a482e0
SH
1357For http://weechat.org/ an automatic redirection to https://weechat.org/ will
1358occur, so you should check that the CA certificates are properly installed
1359on your machine.
1360
1361Aspell option with color for suggestion on a misspelled word has been renamed:
1362
fae6bbb4 1363* aspell.color.suggestions has been renamed to aspell.color.suggestion
c4a482e0 1364
10917530
SH
1365[[v1.7.1]]
1366== Version 1.7.1 (2017-04-22)
1367
1368Bug fix and maintenance release.
1369
68d5a89b 1370[[v1.7]]
fb1a0231 1371== Version 1.7 (2017-01-15)
68d5a89b 1372
0cec295a
SH
1373[[v1.7_fifo_options]]
1374=== FIFO options
1375
1376A new configuration file "fifo.conf" has been added and the old option
fae6bbb4 1377plugins.var.fifo.fifo has been moved to fifo.file.enabled.
0cec295a 1378
fae6bbb4 1379A new option fifo.file.path can be used to customize the FIFO pipe
0cec295a
SH
1380path/filename.
1381
1382[[v1.7_default_triggers]]
1383=== Default triggers
1384
68d5a89b
SH
1385A new trigger "cmd_pass_register" has been added to hide only password and not
1386email in command `/msg nickserv register password email`. +
1387The existing trigger "cmd_pass" has been updated to hide password in all
1388commands except `/msg nickserv register`.
1389
1390You can add the new trigger and restore the other one with the following
1391command:
1392
1393----
1394/trigger restore cmd_pass_register cmd_pass
1395----
1396
20c86db0 1397[[v1.6]]
cc0337bb 1398== Version 1.6 (2016-10-02)
20c86db0 1399
34ccf3fd
SH
1400[[v1.6_irc_server_default_msg]]
1401=== IRC kick/part/quit default messages
1402
1403Server options with default messages for kick/part/quit have been renamed:
1404
1405* options by default for all servers:
fae6bbb4
SH
1406** irc.server_default.default_msg_kick => irc.server_default.msg_kick
1407** irc.server_default.default_msg_part => irc.server_default.msg_part
1408** irc.server_default.default_msg_quit => irc.server_default.msg_quit
34ccf3fd 1409* options in each server:
fae6bbb4
SH
1410** irc.server.xxx.default_msg_kick => irc.server.xxx.msg_kick
1411** irc.server.xxx.default_msg_part => irc.server.xxx.msg_part
1412** irc.server.xxx.default_msg_quit => irc.server.xxx.msg_quit
34ccf3fd 1413
a864da7b
SH
1414If you changed the value of these options, you must set them again after upgrade.
1415
20c86db0 1416[[v1.6_api_printf]]
8743a88c 1417=== Printf API functions
20c86db0
SH
1418
1419Some "printf" functions have been removed from C API (there were not in scripting API):
1420
1421* printf_date
1422* printf_tags
1423
1424The function "printf_date_tags" must now be used instead of these functions
1425(the two functions removed were just C macros on function "printf_date_tags"
1426with tags set to NULL for "printf_date" and date set to 0 for "printf_tags").
1427
951d1410 1428[[v1.5]]
c017af8e 1429== Version 1.5 (2016-05-01)
7ea2aebc 1430
951d1410 1431[[v1.5_nick_coloring]]
fabd48cc
SH
1432=== Nick coloring moved to core
1433
1434The nick coloring feature has been moved from irc plugin to core.
1435
1436Two options have been moved from irc plugin (irc.conf) to core (weechat.conf),
1437and you must set new value if you customized them:
1438
fae6bbb4
SH
1439* irc.look.nick_color_force => weechat.look.nick_color_force
1440* irc.look.nick_color_hash => weechat.look.nick_color_hash
1441* irc.look.nick_color_stop_chars => weechat.look.nick_color_stop_chars
fabd48cc 1442
fae6bbb4 1443The default value for option weechat.look.nick_color_hash is now `djb2`
5b629037
SH
1444instead of `sum`.
1445
fabd48cc
SH
1446The following info names (used by API function "info_get") are renamed as well:
1447
fae6bbb4
SH
1448* irc_nick_color => nick_color
1449* irc_nick_color_name => nick_color_name
fabd48cc
SH
1450
1451[NOTE]
fae6bbb4 1452The old info irc_nick_color and irc_nick_color_name are kept for
fabd48cc
SH
1453compatibility (especially scripts) and will be removed in an upcoming release.
1454
951d1410 1455[[v1.5_callbacks_pointer]]
cf6aca16
SH
1456=== Pointer in callbacks
1457
1458A pointer has been added in all callbacks used by scripts, so the callbacks
fae6bbb4 1459will receive an extra `const void *pointer` before the `void *data`
cf6aca16
SH
1460(in the C API only, not scripting API).
1461
1462This is used to remove linked list of callbacks in scrips (improve speed,
1463reduce memory usage).
1464
1465Following functions are changed in the C API:
1466
8ac67ff5
SH
1467* link:https://weechat.org/doc/plugin/#_exec_on_files[exec_on_files]
1468* link:https://weechat.org/doc/plugin/#_config_new[config_new]
1469* link:https://weechat.org/doc/plugin/#_config_new_section[config_new_section]
1470* link:https://weechat.org/doc/plugin/#_config_new_option[config_new_option]
1471* link:https://weechat.org/doc/plugin/#_hook_command[hook_command]
1472* link:https://weechat.org/doc/plugin/#_hook_command_run[hook_command_run]
1473* link:https://weechat.org/doc/plugin/#_hook_timer[hook_timer]
1474* link:https://weechat.org/doc/plugin/#_hook_fd[hook_fd]
1475* link:https://weechat.org/doc/plugin/#_hook_process[hook_process]
1476* link:https://weechat.org/doc/plugin/#_hook_process_hashtable[hook_process_hashtable]
1477* link:https://weechat.org/doc/plugin/#_hook_connect[hook_connect]
1478* link:https://weechat.org/doc/plugin/#_hook_print[hook_print]
1479* link:https://weechat.org/doc/plugin/#_hook_signal[hook_signal]
1480* link:https://weechat.org/doc/plugin/#_hook_hsignal[hook_hsignal]
1481* link:https://weechat.org/doc/plugin/#_hook_config[hook_config]
1482* link:https://weechat.org/doc/plugin/#_hook_completion[hook_completion]
1483* link:https://weechat.org/doc/plugin/#_hook_modifier[hook_modifier]
1484* link:https://weechat.org/doc/plugin/#_hook_info[hook_info]
1485* link:https://weechat.org/doc/plugin/#_hook_info_hashtable[hook_info_hashtable]
1486* link:https://weechat.org/doc/plugin/#_hook_infolist[hook_infolist]
1487* link:https://weechat.org/doc/plugin/#_hook_hdata[hook_hdata]
1488* link:https://weechat.org/doc/plugin/#_hook_focus[hook_focus]
1489* link:https://weechat.org/doc/plugin/#_unhook_all[unhook_all]
1490* link:https://weechat.org/doc/plugin/#_buffer_new[buffer_new]
1491* link:https://weechat.org/doc/plugin/#_bar_item_new[bar_item_new]
1492* link:https://weechat.org/doc/plugin/#_upgrade_new[upgrade_new]
1493* link:https://weechat.org/doc/plugin/#_upgrade_read[upgrade_read]
cf6aca16 1494
d3c21e35
SH
1495The function `unhook_all` has a new argument `const char *subplugin` to remove
1496only hooks created by this "subplugin" (script).
cf6aca16 1497
951d1410 1498[[v1.5_bar_item_away]]
0e6a6a03
SH
1499=== Bar item "away"
1500
1501The bar item "away" has been moved from irc plugin to core (so that away status
1502can be displayed for any plugin, using the buffer local variable "away").
1503
1504Two options have been moved from irc plugin (irc.conf) to core (weechat.conf):
1505
fae6bbb4
SH
1506* irc.look.item_away_message => weechat.look.item_away_message
1507* irc.color.item_away => weechat.color.item_away
0e6a6a03 1508
951d1410 1509[[v1.5_default_triggers]]
7ea2aebc
SH
1510=== Default triggers
1511
1512The default triggers "cmd_pass" and "msg_auth" have been updated to include
1513nickserv commands "recover" and "regain".
1514
1515You can restore them with the following command:
1516
1517----
1518/trigger restore cmd_pass msg_auth
1519----
1520
951d1410 1521[[v1.4]]
0e3ac938 1522== Version 1.4 (2016-01-10)
39e03d45 1523
951d1410 1524[[v1.4_irc_alternate_nicks]]
39e03d45
SH
1525=== IRC alternate nicks
1526
fae6bbb4
SH
1527The option irc.network.alternate_nick has been moved into servers
1528(irc.server_default.nicks_alternate and irc.server.xxx.nicks_alternate).
39e03d45
SH
1529
1530If you disabled this option, you must switch it off again, globally or by
1531server.
1532
1533Globally (default value for all servers):
1534
1535----
1536/set irc.server_default.nicks_alternate off
1537----
1538
1539For a specific server:
1540
1541----
f55dcde4 1542/set irc.server.libera.nicks_alternate off
39e03d45
SH
1543----
1544
951d1410 1545[[v1.3]]
9019d031 1546== Version 1.3 (2015-08-16)
07cbc3bd 1547
951d1410 1548[[v1.3_irc_channels_encoding]]
1f457ca0
SH
1549=== IRC channels encoding
1550
1551If you are using exotic charsets in your channel names (anything different from
1552UTF-8, like ISO charset), you should turn on a new option:
1553
1554----
1555/set irc.network.channel_encode on
1556----
1557
1558This will force WeeChat to decode/encode the channel name
1559(like WeeChat 1.2 or older did).
1560
1561See these issues for more information: issue #482, issue #218.
1562
1563[NOTE]
1564It is *highly recommended* to use only UTF-8 in WeeChat (wherever you can),
1565because everything is stored as UTF-8 internally.
1566
951d1410 1567[[v1.3_alias_command]]
7be16826
SH
1568=== Alias command
1569
1570The command `/alias` has been updated to list, add and remove aliases.
1571Therefore the command `/unalias` has been removed.
1572
1573To add an alias, the argument `add` must be used in command `/alias` before the
1574name, for example:
1575
1576----
1577/alias add split /window splith
1578----
1579
1580And the alias is removed with this command:
1581
1582----
1583/alias del split
1584----
1585
951d1410 1586[[v1.3_script_path]]
07cbc3bd
SH
1587=== Script path
1588
fae6bbb4 1589The option script.scripts.dir has been renamed to script.scripts.path
07cbc3bd
SH
1590(and the content is now evaluated, see `/help eval`).
1591
a864da7b
SH
1592If you changed the value of this option, you must set it again after upgrade.
1593
951d1410 1594[[v1.2]]
66abd517 1595== Version 1.2 (2015-05-10)
b2a68af0
SH
1596
1597The word chars are now customizable with two options:
1598
1599* weechat.look.word_chars_highlight
1600* weechat.look.word_chars_input
1601
1602The behavior has changed for command line: now any non-word char is used as
1603delimiter for keys to move to previous/next word or delete previous/next word.
1604
1605You can restore the old behavior (only use spaces as delimiters) with this
1606command:
1607
1608----
1609/set weechat.look.word_chars_input "!\u00A0,!\x20,*"
1610----
1611
951d1410 1612[[v1.1.1]]
772d2649
SH
1613== Version 1.1.1 (2015-01-25)
1614
1615Bug fix and maintenance release.
1616
951d1410 1617[[v1.1]]
eb81c475 1618== Version 1.1 (2015-01-11)
b0101155 1619
951d1410 1620[[v1.1_triggers_regex_format]]
3f5a8102
SH
1621=== New format for regex replacement in triggers
1622
1623A new format is used in regex replacement to use regex groups, this format
1624is incompatible with version 1.0.
1625
1626The existing triggers are *NOT automatically updated*.
1627
670e4d7e 1628[width="60%",cols="2,2,3",options="header"]
3f5a8102
SH
1629|===
1630| Old format | New format | Examples (new format)
1631| `$0` ... `$99` | `${re:0}` ... `${re:99}` | `${re:1}`
1632| `$+` | `${re:+}` | `${re:+}`
1633| `$.*N` | `${hide:*,${re:N}}` | `${hide:*,${re:2}}` +
1634 `${hide:-,${re:+}}`
1635|===
1636
1637Moreover, default triggers used to hide passwords have been fixed for *BSD
1638operating systems.
1639
1640You can restore them with the following command:
1641
1642----
1643/trigger restore cmd_pass msg_auth server_pass
1644----
1645
1646If you added triggers with the old regex replacement format, you must update
1647them manually.
1648
951d1410 1649[[v1.1_trigger_beep]]
3f5a8102
SH
1650=== Default "beep" trigger
1651
1652The command of "beep" trigger is now executed only if the message is displayed
fae6bbb4 1653(not filtered with `/filter`).
3f5a8102
SH
1654
1655You can restore the default "beep" trigger with the following command:
1656
1657----
1658/trigger restore beep
1659----
1660
951d1410 1661[[v1.1_commands_return_code]]
1ef3237b
SH
1662=== Return code of commands
1663
8ac67ff5 1664The API function link:https://weechat.org/doc/plugin/#_command[command]
fae6bbb4 1665now sends the value returned return by command callback.
1ef3237b
SH
1666
1667WeeChat does not display any more an error when a command returns
fae6bbb4
SH
1668`WEECHAT_RC_ERROR`. Consequently, all plugins/scripts should display an
1669explicit error message before returning `WEECHAT_RC_ERROR`.
1ef3237b
SH
1670
1671For C plugins, two macros have been added in weechat-plugin.h:
fae6bbb4 1672`WEECHAT_COMMAND_MIN_ARGS` and `WEECHAT_COMMAND_ERROR`.
1ef3237b 1673
951d1410 1674[[v1.1_inline_commands_completion]]
af0397fb
SH
1675=== Completion of inline commands
1676
1677WeeChat now completes by default inline commands (not only at beginning of
1678line).
1679
1680When this feature is enabled, there is no more automatic completion of
1681absolute paths (except if you are completing a path inside a command argument,
1682like `/dcc send <nick> <path>`).
1683
1684To restore the old behavior (no completion of inline commands):
1685
1686----
1687/set weechat.completion.command_inline off
1688----
1689
951d1410 1690[[v1.1_relay_irc_backlog_tags]]
1bda9f10
SH
1691=== Relay option relay.irc.backlog_tags
1692
fae6bbb4 1693The option relay.irc.backlog_tags is now a list separated by commas
1bda9f10
SH
1694(it was separated by semicolons in older versions).
1695
1696If you are using a list of tags in this option, you must adjust the value
1697manually.
1698
951d1410 1699[[v1.1_relay_ipv6_ipv4]]
f48dd3bb
SH
1700=== IPv4-mapped IPv6 client address in relay
1701
1702The string "::ffff:" has been removed from IPv4-mapped IPv6 client address
1703in relay plugin.
1704
fae6bbb4 1705If you are using "::ffff:" in option relay.network.allowed_ips, you can
f48dd3bb
SH
1706remove it.
1707
951d1410 1708[[v1.1_irc_temporary_servers]]
761ac5d0
SH
1709=== Temporary servers disabled by default with /connect
1710
7d3d56cc
SH
1711Creating a temporary server with command `+/connect <address>+` or
1712`+/connect irc://...+` is now forbidden by default.
761ac5d0
SH
1713
1714A new option has been added to unlock the feature, you can do that for
1715the old behavior in command `/connect`:
1716
1717----
1718/set irc.look.temporary_servers on
1719----
1720
951d1410 1721[[v1.1_timeval_microseconds]]
7b546bea
SH
1722=== Microseconds in API timeval functions
1723
1724The API functions using timeval are now using or returning microseconds,
1725instead of milliseconds:
1726
8ac67ff5 1727* function link:https://weechat.org/doc/plugin/#_util_timeval_diff[util_timeval_diff]:
fae6bbb4 1728 returns microseconds
8ac67ff5 1729* function link:https://weechat.org/doc/plugin/#_util_timeval_add[util_timeval_add]:
fae6bbb4 1730 the argument "interval" is now expressed in microseconds.
7b546bea 1731
951d1410 1732[[v1.0.1]]
9aee60bd
SH
1733== Version 1.0.1 (2014-09-28)
1734
1735Bug fix and maintenance release.
1736
951d1410 1737[[v1.0]]
addc27af 1738== Version 1.0 (2014-08-15)
39be4e33 1739
951d1410 1740[[v1.0_irc_channel_type]]
37ad9e36
SH
1741=== Channel type not added by default on /join
1742
1743The channel type is not any more automatically added to a channel name on join
1744(for example `/join weechat` will not send `/join #weechat`).
1745
1746If you are lazy and want to automatically add the channel type, you can turn on
1747the new option:
1748
1749----
1750/set irc.look.join_auto_add_chantype on
1751----
1752
951d1410 1753[[v1.0_irc_channel_modes_arguments]]
de4ce8ee
SH
1754=== Hide IRC channel modes arguments
1755
fae6bbb4
SH
1756The option irc.look.item_channel_modes_hide_key has been renamed to
1757irc.look.item_channel_modes_hide_args and is now a string. +
de4ce8ee
SH
1758It can now hide arguments for multiple channel modes.
1759
1760By default, a channel key (mode "k") will hide channel arguments. For old
1761behavior (never hide arguments, even with a channel key), you can do:
1762
1763----
1764/set irc.look.item_channel_modes_hide_args ""
1765----
1766
951d1410 1767[[v1.0_jump_first_last_buffer]]
bc96d2f1
SH
1768=== Jump to first/last buffer
1769
1770The command `/input jump_last_buffer` has been replaced by `/buffer +`.
a599e032 1771You can rebind the key kbd:[Alt+j], kbd:[Alt+l] (`L`):
bc96d2f1
SH
1772
1773----
1774/key bind meta-jmeta-l /buffer +
1775----
1776
1777[NOTE]
1778The command `/input jump_last_buffer` still works for compatibility reasons,
1779but it should not be used any more.
1780
7d3d56cc 1781Similarly, a new key has been added to jump to first buffer: kbd:[Alt+j], kbd:[Alt+f].
12be3b8c 1782You can add it with the following command:
bc96d2f1
SH
1783
1784----
1785/key missing
1786----
1787
951d1410 1788[[v1.0_hotlist_conditions]]
dc236510
SH
1789=== Hotlist conditions
1790
fae6bbb4
SH
1791A new option weechat.look.hotlist_add_conditions has been added. This option
1792replaces the option weechat.look.hotlist_add_buffer_if_away, which has been
dc236510
SH
1793removed.
1794
1795Default conditions are `${away} || ${buffer.num_displayed} == 0`, which means
1796that a buffer is added in hotlist if you are away ("away" local variable is
1797set), or if the buffer is not visible on screen (not displayed in any window).
1798
fae6bbb4 1799If you have set weechat.look.hotlist_add_buffer_if_away to `off` (to not add
dc236510
SH
1800current buffer in hotlist when you are away), then you must manually change the
1801default conditions with the following command:
1802
1803----
1804/set weechat.look.hotlist_add_conditions "${buffer.num_displayed} == 0"
1805----
1806
951d1410 1807[[v1.0_trigger_plugin]]
3c398bd6
SH
1808=== Rmodifier replaced by Trigger plugin
1809
1810The trigger plugin replaces the rmodifier plugin, which has been removed
1811(and trigger has much more features than rmodifier).
1812
1813Default triggers have same features as default rmodifiers (to hide passwords
1814in commands and output).
1815
1816If you added some custom rmodifiers, you must create similar triggers, see
7d3d56cc 1817`/help trigger` and the complete trigger doc in the _WeeChat User's guide_.
3c398bd6 1818
c5583b06 1819[NOTE]
fae6bbb4 1820If on startup you have an error about API mismatch in plugin "rmodifier.so",
c5583b06
SH
1821you can manually remove the file (the command `make install` does not remove
1822obsolete plugins).
1823
951d1410 1824[[v1.0_bare_display]]
39be4e33
SH
1825=== Bare display
1826
1827A bare display mode has been added (for easy text selection and click on URLs),
a599e032 1828the new default key is kbd:[Alt+l] (`L`).
39be4e33
SH
1829
1830Use command `/key missing` to add the key or `/key listdiff` to see differences
1831between your current keys and WeeChat default keys.
1832
d4254f21 1833[[v1.0_hook_print]]
71e59b09
SH
1834=== Function hook_print
1835
fae6bbb4 1836In scripts, the arguments "displayed" and "highlight" sent to the callback of
b2b110f1
SH
1837"hook_print" are now integers (they were strings in older releases).
1838
71e59b09 1839To be compatible with all versions, it is recommended to convert the argument
b2b110f1
SH
1840to integer before testing it, for example in Python:
1841
1842[source,python]
1843----
1844if int(highlight):
1845 # ...
1846----
71e59b09 1847
951d1410 1848[[v0.4.3]]
f25dd0c8 1849== Version 0.4.3 (2014-02-09)
9b4eb6d6 1850
951d1410 1851[[v0.4.3_colors_messages]]
d3799b46
SH
1852=== Colors in messages
1853
d0832cd5
SH
1854The color code for "reverse video" in IRC message has been fixed: now WeeChat
1855uses 0x16 like other clients (and not 0x12 any more). +
d3799b46
SH
1856The code 0x12 is not decoded any more, so if it is received (for example from
1857an old WeeChat version), it is not displayed as reverse video.
1858
d0832cd5
SH
1859The color code for "underlined text" in input line has been fixed: now WeeChat
1860uses 0x1F, the same code sent to IRC server.
1861
1862The default keys for "reverse video" and "underlined text" have changed:
1863
7d3d56cc
SH
1864* reverse video: key kbd:[Ctrl+c], kbd:[r] is replaced by kbd:[Ctrl+c], kbd:[v]
1865* underlined text: key kbd:[Ctrl+c], kbd:[u] is replaced by kbd:[Ctrl+c], kbd:[_]
d3799b46 1866
d0832cd5 1867You can remove the old keys and add the new ones with these commands:
d3799b46
SH
1868
1869----
1870/key unbind ctrl-Cr
d0832cd5 1871/key unbind ctrl-Cu
d3799b46
SH
1872/key missing
1873----
1874
951d1410 1875[[v0.4.3_terminal_title]]
90774b73
SH
1876=== Terminal title
1877
fae6bbb4
SH
1878The boolean option weechat.look.set_title has been renamed to
1879weechat.look.window_title and is now a string.
90774b73
SH
1880
1881The content is evaluated and the default value is `WeeChat ${info:version}`.
1882
1883[NOTE]
1884Only static content should be used in this option, because the title is
1885refreshed only when the option is changed.
1886
951d1410 1887[[v0.4.3_bar_item_buffer_last_number]]
1d81645c
SH
1888=== New bar item buffer_last_number
1889
fae6bbb4 1890The bar item "buffer_count" now displays the number of opened buffers (each
1d81645c
SH
1891merged buffer counts 1).
1892
fae6bbb4 1893The new bar item "buffer_last_number" displays the highest buffer number
1d81645c
SH
1894currently used.
1895
fae6bbb4
SH
1896If you want to display last number in the status bar, replace "buffer_count"
1897by "buffer_last_number" in your option weechat.bar.status.items.
1d81645c 1898
951d1410 1899[[v0.4.3_bar_item_buffer_zoom]]
9b4eb6d6
SH
1900=== New bar item buffer_zoom
1901
fae6bbb4 1902A new bar item has been added: "buffer_zoom".
9b4eb6d6
SH
1903The default value for status bar items becomes:
1904
1905----
1906/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"
1907----
1908
951d1410 1909[[v0.4.3_irc_messages_channel_join]]
f285fdaf
SH
1910=== IRC messages on channel join
1911
1912The names are not displayed any more by default on channel join (they are in
1913nicklist anyway).
1914
1915Names can be displayed with the value "353" in option
fae6bbb4 1916irc.look.display_join_message (which is not in default value). +
f285fdaf
SH
1917The value "366" shows only names count on channel.
1918
1919If you want to display all messages on join (including names), you can do:
1920
1921----
537f5617 1922/set irc.look.display_join_message "329,332,333,353,366"
f285fdaf
SH
1923----
1924
951d1410 1925[[v0.4.3_irc_maximum_lag]]
4f184b61
SH
1926=== Maximum lag in IRC
1927
fae6bbb4 1928Option irc.network.lag_max has been added.
4f184b61 1929
fae6bbb4
SH
1930The value of option irc.network.lag_reconnect (if set to non-zero value) must
1931be less than or equal to irc.network.lag_max, otherwise the reconnection will
4f184b61
SH
1932never occur.
1933
1934You should check the value of both options and fix them if needed.
1935
951d1410 1936[[v0.4.2]]
5812564b 1937== Version 0.4.2 (2013-10-06)
f7f01988 1938
951d1410 1939[[v0.4.2_day_change_message]]
5812564b 1940=== Day change message
03b6b4c1
SH
1941
1942The day change message is now dynamically displayed, and therefore is not stored
1943as a line in buffer any more.
1944
fae6bbb4
SH
1945Option weechat.look.day_change_time_format has been split into two options
1946weechat.look.day_change_message_{1date|2dates} (color codes are allowed in
9c36b7c6 1947these options, see `/help eval`).
03b6b4c1 1948
fae6bbb4 1949New color option weechat.color.chat_day_change has been added.
03b6b4c1
SH
1950
1951After `/upgrade` from an old version, you will see two messages for each day
1952change. This is a normal behavior and will not happen again with the next day
1953changes.
1954
951d1410 1955[[v0.4.2_buffer_regex_search]]
5812564b 1956=== Regex search in buffer
600ee3dd
SH
1957
1958Search with regular expression has been added, and therefore some keys in search
1959context have been changed.
1960
7d3d56cc 1961The key kbd:[Ctrl+r] in search context is now used to switch string/regex search
600ee3dd
SH
1962(instead of searching exact text).
1963
1964If you never changed keys in search context, you can reset them all with one
1965command:
1966
5812564b 1967----
600ee3dd 1968/key resetall -yes search
5812564b 1969----
600ee3dd
SH
1970
1971Or the manual method:
1972
5812564b 1973----
600ee3dd
SH
1974/key missing search
1975/key bindctxt search ctrl-R /input search_switch_regex
5812564b 1976----
600ee3dd
SH
1977
1978To view keys in search context:
1979
5812564b 1980----
600ee3dd 1981/key list search
5812564b 1982----
600ee3dd 1983
7d3d56cc 1984For more information, see the chapter about keys in the _WeeChat User's guide_.
600ee3dd 1985
951d1410 1986[[v0.4.2_rmodifier]]
5812564b 1987=== New rmodifier
f0cd7a99
SH
1988
1989A new rmodifier "secure" has been added to hide passphrase and passwords
7d3d56cc 1990displayed by command `/secure`. Use command `/rmodifier missing` to add it.
f0cd7a99 1991
951d1410 1992[[v0.4.2_color_codes_options]]
5812564b 1993=== Color codes in options
8ca36552
SH
1994
1995The format for color codes in some options has changed. The options are
1996evaluated with the function "string_eval_expression", which uses the format
1997`${color:xxx}`.
1998
1999Following options are affected:
2000
fae6bbb4
SH
2001* weechat.look.buffer_time_format
2002* weechat.look.prefix_action
2003* weechat.look.prefix_error
2004* weechat.look.prefix_join
2005* weechat.look.prefix_network
2006* weechat.look.prefix_quit
8ca36552
SH
2007
2008The options using old format `${xxx}` must be changed with new format
2009`${color:xxx}` (where xxx is a color name or number, with optional color
2010attributes).
2011
2012Example:
2013
5812564b 2014----
8ca36552 2015/set weechat.look.buffer_time_format "${color:251}%H${color:243}%M${color:238}%S"
5812564b 2016----
8ca36552 2017
951d1410 2018[[v0.4.2_binary_man_page]]
5812564b 2019=== Binary and man page
996da2f6
SH
2020
2021WeeChat binary and man page have been renamed from `weechat-curses` to
2022`weechat`.
2023
2024A symbolic link has been added for binary: `weechat-curses` -> `weechat`
fae6bbb4 2025(so that the `/upgrade` from a old version will still work).
996da2f6
SH
2026
2027If you upgrade from an old version, it is recommended to force the use of the
2028new binary name with the command: `/upgrade /path/to/weechat` (replace the path
2029accordingly).
2030
2031[NOTE]
2032For packagers: you should create the link `weechat-curses` -> `weechat` if it's
f065b43b 2033not automatically created in the package (both CMake and configure are creating
996da2f6
SH
2034this link on make install).
2035
951d1410 2036[[v0.4.2_man_page_documentation]]
5812564b 2037=== Man page / documentation
261efe62
SH
2038
2039Documentation is not built by default any more, you have to use option
f065b43b 2040`-DENABLE_DOC=ON` in cmake command to enable it.
261efe62
SH
2041
2042The man page is now built with asciidoc and translated in several
f065b43b 2043languages. A new CMake option `ENABLE_MAN` has been added to compile man page
3aed4ac1 2044(`OFF` by default).
261efe62 2045
951d1410 2046[[v0.4.2_aspell_colors]]
5812564b 2047=== Aspell colors
f7f01988 2048
fae6bbb4 2049Option aspell.look.color has been renamed to aspell.color.misspelled.
f7f01988 2050
a864da7b
SH
2051If you changed the value of this option, you must set it again after upgrade.
2052
951d1410 2053[[v0.4.1]]
5812564b 2054== Version 0.4.1 (2013-05-20)
ff15c0a4 2055
951d1410 2056[[v0.4.1_relay_nicklist_diff]]
5812564b 2057=== Nicklist diff in relay
00f3fbdf
SH
2058
2059A new message with identifier "_nicklist_diff" has been added in relay (WeeChat
3450bf7c
SH
2060protocol). WeeChat may decide to send full nicklist or this nicklist diff at
2061any time (depending on size of message, the smaller is sent).
00f3fbdf
SH
2062
2063Clients using nicklist must implement it.
2064
7d3d56cc 2065For more info about content of message, see document _WeeChat Relay Protocol_.
00f3fbdf 2066
951d1410 2067[[v0.4.1_dynamic_nick_prefix_suffix]]
5812564b 2068=== Dynamic nick prefix/suffix
16cc0b60
SH
2069
2070The nick prefix/suffix (for example: "<" and ">") are now dynamic and used on
2071display (not stored any more in the line).
2072
2073Options moved from irc plugin (irc.conf) to core (weechat.conf):
2074
fae6bbb4
SH
2075* irc.look.nick_prefix => weechat.look.nick_prefix
2076* irc.look.nick_suffix => weechat.look.nick_suffix
2077* irc.color.nick_prefix => weechat.color.chat_nick_prefix
2078* irc.color.nick_suffix => weechat.color.chat_nick_suffix
16cc0b60
SH
2079
2080Types and default values for these four options remain unchanged.
2081
0a7b708a
SH
2082Two new options to customize the truncature char (by default "`+`"):
2083
fae6bbb4
SH
2084* weechat.look.prefix_align_more_after (boolean, `on` by default)
2085* weechat.look.prefix_buffer_align_more_after (boolean, `on` by default)
0a7b708a
SH
2086
2087When these options are enabled (default), the "`+`" is displayed after the
2088text, replacing the space that should be displayed there. +
2089When turned off, the "`+`" will replace last char of text.
2090
2091Example for a nicks "FlashCode" and "fc" with different values for options
fae6bbb4
SH
2092weechat.look.prefix_align_max, weechat.look.prefix_align_more_after,
2093weechat.look.nick_prefix and weechat.look.nick_suffix:
0a7b708a 2094
5812564b 2095----
0a7b708a
SH
2096 # align_max, more_after, prefix/suffix
2097
2098FlashCode │ test # 0, on
2099 fc │ test
2100
2101FlashCod+│ test # 8, on
2102 fc │ test
2103
2104FlashCo+ │ test # 8, off
2105 fc │ test
2106
2107<FlashCode> │ test # 0, on, < >
2108 <fc> │ test
2109
2110<FlashC>+│ test # 8, on, < >
2111 <fc> │ test
2112
2113<Flash+> │ test # 8, off, < >
2114 <fc> │ test
5812564b 2115----
0a7b708a 2116
16cc0b60
SH
2117After `/upgrade`, if you set new options to non-empty strings, and if old
2118options were set to non-empty strings too, you will see double prefix/suffix
2dff60d7 2119on old messages, this is normal behavior (lines displayed before `/upgrade`
16cc0b60
SH
2120have prefix/suffix saved in prefix, but new lines don't have them any more).
2121
2122New options in logger plugin (logger.conf):
2123
fae6bbb4
SH
2124* logger.file.nick_prefix: prefix for nicks in log files (default: empty string)
2125* logger.file.nick_suffix: suffix for nicks in log files (default: empty string)
16cc0b60 2126
951d1410 2127[[v0.4.1_irc_reconnection_lag]]
5812564b 2128=== IRC reconnection on important lag
7cf9c8a6 2129
fae6bbb4
SH
2130Option irc.network.lag_disconnect has been renamed to irc.network.lag_reconnect
2131and value is now a number of seconds (instead of minutes).
7cf9c8a6 2132
a864da7b
SH
2133If you changed the value of this option, you must set it again after upgrade.
2134
951d1410 2135[[v0.4.1_irc_passwords_hidden]]
5812564b 2136=== IRC passwords hidden
9beb263e
SH
2137
2138IRC plugin is now using modifiers "irc_command_auth" and "irc_message_auth" to
2139hide passwords.
2140
fae6bbb4
SH
2141The option irc.look.hide_nickserv_pwd has been removed, and a new option
2142irc.look.nicks_hide_password has been added (by default passwords are hidden
9beb263e
SH
2143only for "nickserv").
2144
2145A new rmodifier "message_auth" has been added to hide passwords displayed by
7d3d56cc 2146command `/msg nickserv identify|register|ghost|release` and the rmodifier
9beb263e
SH
2147"nickserv" has been renamed to "command_auth".
2148
2149If you never added/changed rmodifiers, you can just reset all rmodifiers:
2150
5812564b 2151----
9beb263e 2152/rmodifier default -yes
5812564b 2153----
9beb263e
SH
2154
2155If you added/changed some rmodifiers, do it manually with these commands:
2156
5812564b 2157----
9beb263e
SH
2158/rmodifier del nickserv
2159/rmodifier add command_auth history_add,input_text_display,irc_command_auth 1,4* ^(/(msg|quote) +nickserv +(id|identify|register|ghost \S+|release \S+) +)(.*)
2160/rmodifier add message_auth irc_message_auth 1,3* ^(.*(id|identify|register|ghost \S+|release \S+) +)(.*)
5812564b 2161----
9beb263e 2162
951d1410 2163[[v0.4.1_lua_constants]]
5812564b 2164=== Lua constants
2ffa199a
SH
2165
2166For consistency with other supported languages, the API constants in Lua have
2167been redefined as constants instead of functions.
2168
2169Therefore, the use of a constant must be changed: the parentheses must be
2170removed.
2171
2172The old syntax was:
2173
2174[source,lua]
5812564b 2175----
2ffa199a 2176return weechat.WEECHAT_RC_OK()
5812564b 2177----
2ffa199a
SH
2178
2179The new syntax is:
2180
2181[source,lua]
5812564b 2182----
2ffa199a 2183return weechat.WEECHAT_RC_OK
5812564b 2184----
2ffa199a 2185
951d1410 2186[[v0.4.1_guile_callbacks]]
5812564b 2187=== Guile callbacks
9857b44e 2188
6394a3d1
SH
2189The way to give arguments for guile callbacks has been fixed: now arguments are
2190sent individually (instead of a list with all arguments inside).
2191
2192Therefore, existing guile scripts must be modified accordingly. Moreover,
2193WeeChat now requires Guile ≥ 2.0 to compile.
9857b44e 2194
951d1410 2195[[v0.4.0]]
5812564b 2196== Version 0.4.0 (2013-01-20)
e0959486 2197
951d1410 2198[[v0.4.0_bars_conditions]]
5812564b 2199=== Conditions in bars
6394a3d1
SH
2200
2201Conditions in bars have changed, and now an expression is evaluated.
2202
2203If you have a value with many conditions in a bar, like: `nicklist,active`, you
2204must now use an expression like: `${nicklist} && ${active}` (see the chapter
7d3d56cc 2205about bars in the _WeeChat User's guide_).
6394a3d1 2206
951d1410 2207[[v0.4.0_ipv6_default]]
5812564b 2208=== IPv6 by default
6394a3d1 2209
5812564b 2210==== IRC
6394a3d1
SH
2211
2212IPv6 is now used by default to connect to IRC servers, with fallback to
fae6bbb4 2213IPv4. The option irc.server_default.ipv6 is now `on` by default. If IPv6 is
3450bf7c 2214not enabled or fails, IPv4 will be used. The "ipv6" option in server is now
fae6bbb4 2215used to disable IPv6 and force IPv4 (if option is turned off).
6394a3d1 2216
5812564b 2217==== Relay
6394a3d1
SH
2218
2219Relay plugin is now listening by default on an IPv6 socket (new option
fae6bbb4 2220relay.network.ipv6, `on` by default), so connections with IPv4 will have
6394a3d1 2221IPv4-mapped IPv6 addresses, like: "::ffff:127.0.0.1" (for "127.0.0.1"); check
fae6bbb4 2222that value of option relay.network.allowed_ips supports this mapping, or
9beb263e 2223disable IPv6 in relay if you don't plan to use it at all:
6394a3d1 2224
5812564b 2225----
6394a3d1 2226/set relay.network.ipv6 off
5812564b 2227----
e0959486 2228
951d1410 2229[[v0.3.9.2]]
5812564b 2230== Version 0.3.9.2 (2012-11-18)
57293ffc 2231
3450bf7c 2232This version fixes a security vulnerability when a plugin/script gives
8ac67ff5 2233untrusted command to API function link:https://weechat.org/doc/plugin/#_hook_process[hook_process].
57293ffc 2234
951d1410 2235[[v0.3.9.1]]
5812564b 2236== Version 0.3.9.1 (2012-11-09)
7cd376b4
SH
2237
2238This version fixes crash when decoding IRC colors in strings.
2239
951d1410 2240[[v0.3.9]]
5812564b 2241== Version 0.3.9 (2012-09-29)
9076f359 2242
951d1410 2243[[v0.3.9_options_moved]]
5812564b 2244=== Options moved
9c8b06de 2245
6394a3d1
SH
2246Options moved from core (weechat.conf) to irc plugin (irc.conf):
2247
fae6bbb4
SH
2248* weechat.look.nickmode => irc.look.nick_mode (new type: integer with values: none/prefix/action/both)
2249* weechat.look.nickmode_empty => irc.look.nick_mode_empty
6394a3d1 2250
951d1410 2251[[v0.3.9_bar_item_buffer_modes]]
5812564b 2252=== New bar item buffer_modes
6394a3d1 2253
fae6bbb4
SH
2254A new bar item has been added: "buffer_modes" and irc option irc.look.item_channel_modes
2255has been removed; to display irc channel modes in status bar (after channel name),
2256you have to manually add the new item "buffer_modes" (this is now used by default
2257in status bar items), default value for status bar items becomes:
6394a3d1 2258
5812564b 2259----
6394a3d1 2260/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 2261----
6394a3d1 2262
951d1410 2263[[v0.3.9_command_aspell]]
5812564b 2264=== Command /aspell
6394a3d1
SH
2265
2266New options in command `/aspell`:
2267
2268* `enable`: enable aspell
2269* `disable`: disable aspell
7d3d56cc 2270* `toggle`: toggle aspell (new default key: kbd:[Alt+s])
6394a3d1
SH
2271
2272Options renamed in command `/aspell`:
2273
fae6bbb4
SH
2274* `enable` => `setdict` (set dictionary for current buffer)
2275* `disable` => `deldict` (delete dictionary used on current buffer)
2276* `dictlist` => `listdict` (show installed dictionaries)
6394a3d1 2277
951d1410 2278[[v0.3.9_horizontal_separator]]
5812564b 2279=== Horizontal separator
6394a3d1
SH
2280
2281An horizontal separator has been added between split windows, and two options
2282have been added to toggle separators (both are enabled by default):
2283
fae6bbb4
SH
2284* weechat.look.window_separator_horizontal
2285* weechat.look.window_separator_vertical
6394a3d1 2286
951d1410 2287[[v0.3.9_new_keys]]
5812564b 2288=== New keys
6394a3d1
SH
2289
2290New keys were added, use command `/key missing` to add them or `/key listdiff`
2291to see differences between your current keys and WeeChat default keys.
9076f359 2292
951d1410 2293[[v0.3.8]]
5812564b 2294== Version 0.3.8 (2012-06-03)
ca643c6f 2295
951d1410 2296[[v0.3.8_options]]
5812564b 2297=== Options
6394a3d1 2298
fae6bbb4
SH
2299Options weechat.look.prefix_align_more and weechat.look.prefix_buffer_align_more
2300have been converted from type boolean to string:
6394a3d1 2301
fae6bbb4 2302* If the value was `on` (default), new value is "+" and you can now customize
fa845c2e 2303 this char.
fae6bbb4 2304* If the value was `off`, you have to set " " (string with one space).
6394a3d1 2305
951d1410 2306[[v0.3.8_paste_detection]]
5812564b 2307=== Paste detection
6394a3d1 2308
fae6bbb4 2309Option weechat.look.paste_max_lines can now be used with value 0 to detect
6394a3d1 2310paste with one line (only if terminal "bracketed paste mode" is enabled when
fae6bbb4 2311option weechat.look.paste_bracketed is `on`); so now the value -1 is used to
7d3d56cc 2312disable paste detection: if your value was 0, you should set it to -1:
6394a3d1 2313
5812564b 2314----
6394a3d1 2315/set weechat.look.paste_max_lines -1
5812564b 2316----
6394a3d1 2317
951d1410 2318[[v0.3.8_rmodifier]]
5812564b 2319=== Rmodifier
6394a3d1 2320
3450bf7c 2321Rmodifier "nickserv" has a new default regex which includes option "release"
7d3d56cc 2322for command `/msg nickserv`.
9beb263e
SH
2323
2324If you never added/changed rmodifiers, you can just reset all rmodifiers:
2325
5812564b 2326----
9beb263e 2327/rmodifier default -yes
5812564b 2328----
6394a3d1 2329
9beb263e 2330If you added/changed some rmodifiers, do it manually with these commands:
6394a3d1 2331
5812564b 2332----
6394a3d1
SH
2333/rmodifier del nickserv
2334/rmodifier add nickserv history_add,input_text_display 1,4* ^(/(msg|quote) +nickserv +(id|identify|ghost \S+|release \S+) +)(.*)
5812564b 2335----
ca643c6f 2336
951d1410 2337[[v0.3.7]]
5812564b 2338== Version 0.3.7 (2012-02-26)
60e88df4 2339
951d1410 2340[[v0.3.7_options]]
5812564b 2341=== Options
6394a3d1
SH
2342
2343Option `scroll_unread` has been moved from command `/input` to `/window`,
7d3d56cc 2344therefore default command of key kbd:[Alt+u] has been updated. To bind key with
03fa2448 2345new default value:
6394a3d1 2346
5812564b 2347----
6394a3d1 2348/key bind meta-u /window scroll_unread
5812564b 2349----
6394a3d1 2350
fae6bbb4 2351Option weechat.history.max_lines has been renamed to weechat.history.max_buffer_lines_number.
6394a3d1 2352
a864da7b
SH
2353If you changed the value of this option, you must set it again after upgrade.
2354
fae6bbb4 2355Option weechat.plugin.extension now supports list of extensions, and new
6394a3d1
SH
2356default value is ".so,.dll" (with this value, weechat.conf is compatible with
2357Cygwin).
2358
951d1410 2359[[v0.3.7_extended_regex]]
5812564b 2360=== Extended regex
6394a3d1
SH
2361
2362Extended regex is used in filters and irc ignore, so some chars that needed
2363escape in past do not need any more (for example `[0-9]\+` becomes `[0-9]+`),
2364filters and ignore have to be manually fixed.
2365
fae6bbb4 2366Option weechat.look.highlight_regex becomes case insensitive by default, to
6394a3d1
SH
2367make it case sensitive, use "(?-i)" at beginning of string, for example:
2368"(?-i)FlashCode|flashy".
60e88df4 2369
951d1410 2370[[v0.3.6]]
5812564b 2371== Version 0.3.6 (2011-10-22)
4a16de55 2372
951d1410 2373[[v0.3.6_options]]
5812564b 2374=== Options
0f5b4dbe 2375
fae6bbb4 2376Option weechat.look.hline_char has been renamed to weechat.look.separator_horizontal.
6394a3d1 2377
a864da7b
SH
2378If you changed the value of this option, you must set it again after upgrade.
2379
951d1410 2380[[v0.3.6_colors_bold]]
5812564b 2381=== Bold in colors
6394a3d1
SH
2382
2383Bold is not used any more for basic colors (used only if terminal has less than
238416 colors), a new option has been added to force bold if needed:
fae6bbb4 2385weechat.look.color_basic_force_bold.
4a16de55 2386
951d1410 2387[[v0.3.5]]
5812564b 2388== Version 0.3.5 (2011-05-15)
030755d3 2389
951d1410 2390[[v0.3.5_colors]]
5812564b 2391=== Colors
6394a3d1
SH
2392
2393If you have some colors defined in section "palette" with version 0.3.4, you
2394should remove all colors defined, and add new aliases (it's not needed any more
2395to add colors before using them).
2396
3450bf7c 2397Colors for nick prefixes (char for op, voice, ..) are defined in a single
fae6bbb4
SH
2398option irc.color.nick_prefixes, therefore following options will be lost:
2399irc.color.nick_prefix_op, irc.color.nick_prefix_halfop,
2400irc.color.nick_prefix_voice, irc.color.nick_prefix_user .
6394a3d1 2401
951d1410 2402[[v0.3.5_hotlist]]
5812564b 2403=== Hotlist
6394a3d1 2404
951d1410 2405[[v0.3.5_hotlist_counters]]
5812564b 2406==== Counters
6394a3d1
SH
2407
2408Count of messages have been added to hotlist by default, if you want to come
2409back to old behavior, do that:
2410
5812564b 2411----
6394a3d1
SH
2412/set weechat.look.hotlist_count_max 0
2413/set weechat.look.hotlist_buffer_separator ","
5812564b 2414----
6394a3d1 2415
951d1410 2416[[v0.3.5_hotlist_away_current_buffer]]
5812564b 2417==== Away and current buffer
6394a3d1 2418
3450bf7c
SH
2419When you are away, all buffers are now added to hotlist by default (even if
2420they are displayed in a window), if you want to come back to old behavior, do
2421that:
6394a3d1 2422
5812564b 2423----
6394a3d1 2424/set weechat.look.hotlist_add_buffer_if_away off
5812564b 2425----
6394a3d1 2426
951d1410 2427[[v0.3.5_new_keys]]
5812564b 2428=== New keys
6394a3d1
SH
2429
2430New keys were added, use command `/key missing` to add them or `/key listdiff`
2431to see differences between your current keys and WeeChat default keys.
030755d3 2432
951d1410 2433[[v0.3.4]]
5812564b 2434== Version 0.3.4 (2011-01-16)
6f063c95 2435
951d1410 2436[[v0.3.4_after_upgrade]]
5812564b 2437=== After /upgrade
6394a3d1
SH
2438
2439If you are using `/upgrade` from a previous release:
2440
fa845c2e 2441* Some nick prefixes can be wrong, so it is recommended to do `/allchan names`.
fae6bbb4
SH
2442* Nick colors are defined with a new option weechat.color.chat_nick_colors ,
2443 therefore old options weechat.color.chat_nick_color1..10 will be lost when
fa845c2e
SH
2444 upgrading.
2445* Nick colors in messages displayed will be wrong if you changed some nick
2446 colors (old default colors will be used).
6394a3d1 2447
951d1410 2448[[v0.3.4_options]]
5812564b 2449=== Options
6394a3d1
SH
2450
2451Some IRC options have been renamed, before upgrading to this version, note
2452value for old options, and set them again with new name:
2453
fae6bbb4 2454* options moved from "network" section to servers (with global value, and
3450bf7c 2455 server value, like other server options):
fae6bbb4
SH
2456** irc.network.connection_timeout => irc.server_default.connection_timeout
2457** irc.network.anti_flood_prio_high => irc.server_default.anti_flood_prio_high
2458** irc.network.anti_flood_prio_low => irc.server_default.anti_flood_prio_low
2459** irc.network.away_check => irc.server_default.away_check
2460** irc.network.away_check_max_nicks => irc.server_default.away_check_max_nicks
2461** irc.network.default_msg_part => irc.server_default.default_msg_part
2462** irc.network.default_msg_quit => irc.server_default.default_msg_quit
6394a3d1 2463* other IRC options renamed:
fae6bbb4 2464** irc.look.open_channel_near_server => irc.look.new_channel_position
6394a3d1 2465 (old option was boolean, new is integer with value as string)
fae6bbb4 2466** irc.look.open_pv_near_server => irc.look.new_pv_position
6394a3d1 2467 (old option was boolean, new is integer with value as string)
6f063c95 2468
951d1410 2469[[v0.3.3]]
5812564b 2470== Version 0.3.3 (2010-08-07)
f51ec651 2471
951d1410 2472[[v0.3.3_after_upgrade]]
5812564b 2473=== After /upgrade
6394a3d1
SH
2474
2475If you are using `/upgrade` from a previous release, then you must reconnect to
fae6bbb4 2476IRC servers in order to use new command `/wallchops`.
6394a3d1 2477
951d1410 2478[[v0.3.3_options]]
5812564b 2479=== Options
a31d01a4 2480
fae6bbb4 2481Option irc.look.show_away_once has been renamed to irc.look.display_pv_away_once.
6394a3d1 2482
fae6bbb4
SH
2483Option irc.network.lag_min_show is now in milliseconds, you should set new
2484value: your current value multiplied by 1000 (new default value is `500`).
f51ec651 2485
951d1410 2486[[v0.3.2]]
5812564b 2487== Version 0.3.2 (2010-04-18)
2a37b44a 2488
951d1410 2489[[v0.3.2_after_upgrade]]
5812564b 2490=== After /upgrade
6394a3d1 2491
2a37b44a
SH
2492If you are using `/upgrade` from a previous release, then you must execute this
2493command on all IRC servers/channels/private buffers and xfer DCC chats (not
6394a3d1
SH
2494needed on WeeChat core buffer or buffers from other plugins/scripts):
2495
5812564b 2496----
6394a3d1 2497/buffer set highlight_words $nick
5812564b 2498----
2a37b44a 2499
951d1410 2500[[v0.3.1.1]]
5812564b 2501== Version 0.3.1.1 (2010-01-31)
2a37b44a 2502
6394a3d1 2503This version fixes crashes with SSL connection and purge of old DCC chats.
2a37b44a 2504
b5082902 2505All users of version 0.3.1 should upgrade to this version.
2a37b44a 2506
951d1410 2507[[v0.3.1]]
5812564b 2508== Version 0.3.1 (2010-01-23)
2a37b44a 2509
951d1410 2510[[v0.3.1_aliases]]
5812564b 2511=== Aliases
6394a3d1 2512
fae6bbb4 2513IRC commands `/ame` and `/amsg` are now aliases, if you are upgrading from version
12be3b8c 25140.3.0, you must create aliases with the following commands:
6394a3d1 2515
5812564b 2516----
6394a3d1
SH
2517/alias aaway allserv /away
2518/alias ame allchan /me
2519/alias amsg allchan /amsg *
2520/alias anick allserv /nick
5812564b 2521----
2a37b44a 2522
951d1410 2523[[v0.3.0]]
5812564b 2524== Version 0.3.0 (2009-09-06)
2a37b44a 2525
6394a3d1 2526This version brings *MAJOR* changes, especially for configuration files and
25f8a629 2527plugin API and is not compatible with previous versions.
ce657fd7
SH
2528
2529Major differences:
2530
fa845c2e 2531* It is *NOT POSSIBLE* to use command `/upgrade` from a version 0.2.x to 0.3.x;
ce657fd7 2532 you have to quit your old WeeChat, then run new version.
fa845c2e 2533* New configuration files (`*.conf`) are not compatible with old files
3450bf7c 2534 (`*.rc`).
fa845c2e 2535* Name of options is similar to old versions, but there is now one
3450bf7c 2536 configuration file by plugin, and one file for WeeChat core; there is
ce657fd7
SH
2537 *no automatic conversion* for your old options to new configuration files,
2538 so you'll have to setup again your IRC servers and all other options.
fa845c2e 2539* Plugin API has been rewritten and is not compatible with previous versions;
ce657fd7
SH
2540 accordingly, scripts and plugins must have been designed for version 0.3.x to
2541 be loaded into WeeChat.
2542
951d1410 2543[[v0.2.6.3]]
5812564b 2544== Version 0.2.6.3 (2009-06-13)
2a37b44a
SH
2545
2546This version fixes gnutls detection.
2547
951d1410 2548[[v0.2.6.2]]
5812564b 2549== Version 0.2.6.2 (2009-04-18)
2a37b44a 2550
fae6bbb4 2551This version fixes a bug with charset decoding (like "iso2022jp").
2a37b44a 2552
951d1410 2553[[v0.2.6.1]]
5812564b 2554== Version 0.2.6.1 (2009-03-14)
2a37b44a
SH
2555
2556This version fixes a major bug: crash with some special chars in IRC messages.
2557
951d1410 2558[[v0.2.6]]
5812564b 2559== Version 0.2.6 (2007-09-06)
2a37b44a
SH
2560
2561No release note.
2562
951d1410 2563[[v0.2.5]]
5812564b 2564== Version 0.2.5 (2007-06-07)
2a37b44a
SH
2565
2566No release note.
2567
951d1410 2568[[v0.2.4]]
5812564b 2569== Version 0.2.4 (2007-03-29)
2a37b44a
SH
2570
2571No release note.
2572
951d1410 2573[[v0.2.3]]
5812564b 2574== Version 0.2.3 (2007-01-10)
2a37b44a
SH
2575
2576This version fixes several major bugs of version 0.2.2.
2577
2578All users of version 0.2.2 should upgrade to this version.
2579
951d1410 2580[[v0.2.2]]
5812564b 2581== Version 0.2.2 (2007-01-06)
2a37b44a 2582
951d1410 2583[[v0.2.2_charset_plugin]]
5812564b 2584=== Charset plugin
6394a3d1
SH
2585
2586For users of any previous version, all your charset settings in weechat.rc will
2587be LOST! You should save your weechat.rc to keep your values and set them again
7d3d56cc 2588with new _charset_ plugin.
6394a3d1
SH
2589
2590For ISO users: history of channels may be without accents (after `/upgrade`),
2591this is not recoverable, but this is not a bug. All new messages should be OK.
2592
3450bf7c 2593Be careful, now default encode is UTF-8 for all channels (before it was
fae6bbb4
SH
2594terminal charset). If you still want to send messages as "ISO-8859-1", you
2595should set either global encode or server specific encode to `ISO-8859-1`.
6394a3d1
SH
2596
2597For global encode:
2598
5812564b 2599----
6394a3d1 2600/setp charset.global.encode = "ISO-8859-1"
5812564b 2601----
6394a3d1
SH
2602
2603For server encode (on server buffer):
2604
5812564b 2605----
6394a3d1 2606/charset encode ISO-8859-1
5812564b 2607----
6394a3d1 2608
951d1410 2609[[v0.2.2_new_keys]]
5812564b 2610=== New keys
6394a3d1 2611
7d3d56cc 2612New keys for topic scroll: kbd:[F9]/kbd:[F10].
6394a3d1 2613
7d3d56cc 2614Key kbd:[F10] was used for `infobar_clear` in previous WeeChat versions, you
03fa2448 2615have to manually rebind this key (except for new WeeChat users):
6394a3d1 2616
5812564b 2617----
6394a3d1 2618/key <press alt+"k" then F10> scroll_topic_right
5812564b 2619----
6394a3d1
SH
2620
2621Which gives something like:
2622
5812564b 2623----
6394a3d1 2624/key meta2-21~ scroll_topic_right
5812564b 2625----
2a37b44a 2626
951d1410 2627[[v0.2.1]]
5812564b 2628== Version 0.2.1 (2006-10-01)
2a37b44a
SH
2629
2630No release note.
2631
951d1410 2632[[v0.2.0]]
5812564b 2633== Version 0.2.0 (2006-08-19)
2a37b44a 2634
951d1410 2635[[v0.2.0_after_upgrade]]
5812564b 2636=== After /upgrade
2a37b44a 2637
6394a3d1
SH
2638If you upgraded with `/upgrade` in WeeChat, you should `/disconnect` and then
2639`/reconnect` on each server, to display properly channel/user modes.
2640
951d1410 2641[[v0.2.0_plugins]]
5812564b 2642=== Plugins
6394a3d1 2643
3450bf7c 2644If you're using plugins, you should remove some old plugins libraries in
fae6bbb4 2645WeeChat system library directory (commonly `/usr/local/lib/weechat/plugins`):
3450bf7c
SH
2646remove `lib*` files (like `libperl.*`, `libpython.*`, ..) and keep only new
2647libraries (`perl.*`, `python.*`, ..).
2a37b44a 2648
951d1410 2649[[v0.1.9]]
5812564b 2650== Version 0.1.9 (2006-05-25)
2a37b44a 2651
951d1410 2652[[v0.1.9_dcc_chat]]
5812564b 2653=== DCC chat
6394a3d1 2654
fae6bbb4 2655Please close all DCC chat buffers before using `/upgrade` command, otherwise you
6394a3d1 2656may experience problems with DCC chats.
2a37b44a 2657
951d1410 2658[[v0.1.9_script_api]]
5812564b 2659=== Script API
6394a3d1
SH
2660
2661Some changes in script API: now timer handlers functions takes exactly 0 (zero)
2662argument (in version 0.1.8, two arguments were mandatory but not used: server
2663and arguments).
2a37b44a 2664
951d1410 2665[[v0.1.8]]
5812564b 2666== Version 0.1.8 (2006-03-18)
2a37b44a 2667
951d1410 2668[[v0.1.8_after_upgrade]]
5812564b 2669=== After /upgrade
6394a3d1
SH
2670
2671After installing 0.1.8 (or with `/upgrade`), issue both commands (if you didn't
7d3d56cc 2672redefine these keys (kbd:[Alt+Home] / kbd:[Alt+End]):
6394a3d1 2673
5812564b 2674----
6394a3d1
SH
2675/key unbind meta-meta2-1~
2676/key unbind meta-meta2-4~
5812564b 2677----
6394a3d1
SH
2678
2679Then launch again WeeChat (or issue `/upgrade`).
2680
951d1410 2681[[v0.1.8_configuration_files]]
5812564b 2682=== Configuration files
6394a3d1
SH
2683
2684It is recommended for users of version 0.1.7 (or any older), to replace values
7d3d56cc 2685in setup file (_~/.weechat/weechat.rc_):
6394a3d1 2686
fae6bbb4
SH
2687* option: log_path: replace `~/.weechat/logs` by `%h/logs`
2688* option: plugins_path: replace `~/.weechat/plugins` by `%h/plugins`
6394a3d1 2689
fae6bbb4 2690The string `%h` is replaced by WeeChat home (default: `~/.weechat`, may be
6394a3d1
SH
2691overridden by new command line argument `--dir`).
2692
951d1410 2693[[v0.1.8_keys]]
5812564b 2694=== Keys
6394a3d1 2695
7d3d56cc
SH
2696Keys kbd:[Alt+Home] / kbd:[Alt+End] were used for nicklist scroll, they're now
2697replaced by kbd:[Alt+F11] / kbd:[Alt+F12].
2a37b44a 2698
951d1410 2699[[v0.1.7]]
5812564b 2700== Version 0.1.7 (2006-01-14)
2a37b44a 2701
951d1410 2702[[v0.1.7_ruby]]
5812564b 2703=== Ruby
6394a3d1
SH
2704
2705Ruby script plugin has been added but is experimental in this release. You're
2706warned!
2707
951d1410 2708[[v0.1.7_command_away]]
5812564b 2709=== Command /away
2a37b44a 2710
6394a3d1
SH
2711Command `/away` was changed to be RFC 2812 compliant. Now argument is required
2712to set away, and no argument means remove away ("back").
2713
fae6bbb4 2714Option irc_default_msg_away has been removed.
2a37b44a 2715
951d1410 2716[[v0.1.6]]
5812564b 2717== Version 0.1.6 (2005-11-11)
2a37b44a 2718
951d1410 2719[[v0.1.6_script_api]]
5812564b 2720=== Script API
6394a3d1
SH
2721
2722Incompatibility with some old scripts: now all handlers have to return a code
2723for completion, and to do some actions about message to ignore (please look at
2724documentation for detail).
2725
951d1410 2726[[v0.1.6_openbsd]]
5812564b 2727=== OpenBSD
6394a3d1 2728
fae6bbb4
SH
2729On OpenBSD, the new option plugins_extension should be set to `.so.0.0` since
2730the plugins names are ending by `.so.0.0` and not `.so`.
6394a3d1 2731
951d1410 2732[[v0.1.6_utf8]]
5812564b 2733=== UTF-8
6394a3d1 2734
fae6bbb4 2735With new and full UTF-8 support, the option look_charset_internal should be
6394a3d1 2736set to blank for most cases. Forces it only if your locale is not properly
fae6bbb4
SH
2737detected by WeeChat (you can set `UTF-8` or `ISO-8859-15` for example,
2738depending on your locale). WeeChat is looking for "UTF-8" in your locale name
3450bf7c 2739at startup.
2a37b44a 2740
951d1410 2741[[v0.1.5]]
5812564b 2742== Version 0.1.5 (2005-09-24)
2a37b44a
SH
2743
2744No release note.
2745
951d1410 2746[[v0.1.4]]
5812564b 2747== Version 0.1.4 (2005-07-30)
2a37b44a
SH
2748
2749No release note.
2750
951d1410 2751[[v0.1.3]]
5812564b 2752== Version 0.1.3 (2005-07-02)
2a37b44a
SH
2753
2754No release note.
2755
951d1410 2756[[v0.1.2]]
5812564b 2757== Version 0.1.2 (2005-05-21)
2a37b44a
SH
2758
2759No release note.
2760
951d1410 2761[[v0.1.1]]
5812564b 2762== Version 0.1.1 (2005-03-20)
2a37b44a
SH
2763
2764No release note.
2765
951d1410 2766[[v0.1.0]]
5812564b 2767== Version 0.1.0 (2005-02-12)
2a37b44a
SH
2768
2769No release note.
2770
951d1410 2771[[v0.0.9]]
5812564b 2772== Version 0.0.9 (2005-01-01)
2a37b44a
SH
2773
2774No release note.
2775
951d1410 2776[[v0.0.8]]
5812564b 2777== Version 0.0.8 (2004-10-30)
2a37b44a
SH
2778
2779No release note.
2780
951d1410 2781[[v0.0.7]]
5812564b 2782== Version 0.0.7 (2004-08-08)
2a37b44a
SH
2783
2784No release note.
2785
951d1410 2786[[v0.0.6]]
5812564b 2787== Version 0.0.6 (2004-06-05)
2a37b44a
SH
2788
2789No release note.
2790
951d1410 2791[[v0.0.5]]
5812564b 2792== Version 0.0.5 (2004-02-07)
2a37b44a
SH
2793
2794No release note.
2795
951d1410 2796[[v0.0.4]]
5812564b 2797== Version 0.0.4 (2004-01-01)
2a37b44a
SH
2798
2799No release note.
2800
951d1410 2801[[v0.0.3]]
5812564b 2802== Version 0.0.3 (2003-11-03)
2a37b44a
SH
2803
2804No release note.
2805
951d1410 2806[[v0.0.2]]
5812564b 2807== Version 0.0.2 (2003-10-05)
2a37b44a
SH
2808
2809No release note.
2810
951d1410 2811[[v0.0.1]]
5812564b 2812== Version 0.0.1 (2003-09-27)
2a37b44a
SH
2813
2814No release note.