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