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