= WeeChat Release Notes :author: Sébastien Helleu :email: flashcode@flashtux.org :lang: en :toc: left :docinfo1: This document lists important changes for each version, that require manual actions (the latest formatted version of this document can be found https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[here]). + It is recommended to read it when upgrading to a new stable version. For a complete list of changes, please look at https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog] (file _ChangeLog.adoc_ in sources). [[v3.5]] == Version 3.5 (under dev) [[v3.5_relay_weechat_compression_zstd]] === Compression "zstandard" in relay Relay of type "weechat" now offers a compression with https://facebook.github.io/zstd/[Zstandard], which allows better compression and is much faster than zlib for both compression and decompression. The new compression type is `zstd`, and the default compression is now `off` instead of `zlib`: the compression must now be explicitly given in the link:https://weechat.org/doc/relay#command_handshake[handshake] command. The option `compression` in link:https://weechat.org/doc/relay#command_handshake[init] command has been removed, it is now ignored and must be given in the link:https://weechat.org/doc/relay#command_handshake[handshake] command (it was deprecated since WeeChat 2.9). The option relay.network.compression_level has been renamed to relay.network.compression and is now a percentage between `0` and `100`: * `0`: disable compression * `1`: low compression (fast) * `100`: best compression (slow) [[v3.4.1]] == Version 3.4.1 (2022-03-13) Bug fix and maintenance release. [[v3.4]] == Version 3.4 (2021-12-18) [[v3.4_default_triggers]] === Default triggers The existing triggers "cmd_pass" and "cmd_pass_register" have been updated to hide key and password in command `/msg nickserv setpass ` and support the option `-server `. You can restore the default triggers with the following command: ---- /trigger restore cmd_pass cmd_pass_register ---- [[v3.4_hdata_search]] === New parameters in function hdata_search New parameters have been added in function link:https://weechat.org/doc/plugin#_hdata_search[hdata_search], used for the evaluation of expression. New parameters are the same as function link:https://weechat.org/doc/plugin#_string_eval_expression[string_eval_expression]: * pointers: hashtable with pointers (pointers) * extra_vars: hashtable with extra variables (strings) * options: hashtable with options (strings). The following scripts are updated consequently to be compatible with all WeeChat versions: * https://weechat.org/scripts/source/autoauth.py/[autoauth.py] 1.3 * https://weechat.org/scripts/source/buffer_open.py/[buffer_open.py] 0.3 * https://weechat.org/scripts/source/collapse_channel.py/[collapse_channel.py] 0.9 * https://weechat.org/scripts/source/grep_filter.py/[grep_filter.py] 0.11 * https://weechat.org/scripts/source/samechannel.rb/[samechannel.rb] 0.2 * https://weechat.org/scripts/source/soju.py/[soju.py] 0.1.4 * https://weechat.org/scripts/source/stalker.pl/[stalker.pl] 1.6.3 [[v3.4_hdata_arrays]] === Static array support in hdata Support of static array in hdata has been added. For pointers to arrays, a prefix `*,` must be added in parameter `array_size` of API function link:https://weechat.org/doc/plugin#_hdata_new_var[hdata_new_var]. [[v3.3]] == Version 3.3 (2021-09-19) [[v3.3_hotlist_keys_clear_restore]] === New keys for hotlist New keys have been added to manipulate the hotlist: * kbd:[Alt+h], kbd:[Alt+c]: clear the whole hotlist (former key: kbd:[Alt+h]) * kbd:[Alt+h], kbd:[Alt+m]: mark the current buffer as read by removing it from the hotlist * kbd:[Alt+h], kbd:[Alt+r]: restore latest hotlist removed in the current buffer * kbd:[Alt+h], kbd:[Alt+Shift+R]: restore latest hotlist removed in all buffers You can add them with the following command: ---- /key missing ---- Since the key kbd:[Alt+h] has been moved to kbd:[Alt+h], kbd:[Alt+c], you must manually remove the old key: ---- /key unbind meta-h ---- [[v3.3_typing_bar_item]] === Bar item "typing" A bar item called "typing" has been added to status bar by default. It is used to display users that are currently typing a message on the current IRC channel or private buffer. If you want to display typing notifications in the status bar, add `,[typing]` in your option weechat.bar.status.items. [[v3.3_ordered_hashtables]] === Ordered hashtables Hashtables entries are now ordered by creation date, the following functions are now returning entries sorted by insertion order: * hashtable_map * hashtable_map_string * hashtable_get_string (all properties except "keys_sorted" and "keys_values_sorted") * hashtable_add_to_infolist [[v3.3_irc_default_capabilities]] === IRC default capabilities All supported capabilities are now enabled by default if the server support them: * account-notify * away-notify * cap-notify * chghost * extended-join * invite-notify * message-tags * multi-prefix * server-time * setname * userhost-in-names Two new options have been added and enabled by default to customize the behavior of capabilities "account-notify" and "extended-join": * irc.look.display_account_message: display ACCOUNT messages received * irc.look.display_extended_join: display extended join info in the JOIN messages: account name and real name The default value of option irc.server_default.capabilities is now `*` which means that all capabilities supported by both WeeChat and the server are enabled by default. After upgrade, to enable all capabilities and remove custom capabilities you have set, you can do: ---- /set irc.server_default.capabilities "*" /unset irc.server.example.capabilities ---- You can also explicitly disable some capabilities with this syntax (see `/help irc.server_default.capabilities`): ---- /set irc.server_default.capabilities "*,!away-notify,!extended-join" ---- [[v3.3_irc_sasl_blowfish_aes]] === IRC SASL DH-BLOWFISH and DH-AES mechanisms removed The SASL mechanisms DH-BLOWFISH and DH-AES have been removed, because they are insecure and already removed from most IRC servers. + If you were using one of these mechanisms, it is highly recommended to switch to any other supported SASL mechanism. For example: ---- /set irc.server.example.sasl_mechanism scram-sha-256 ---- [[v3.2.1]] == Version 3.2.1 (2021-09-04) Bug fix and maintenance release. [[v3.2]] == Version 3.2 (2021-06-13) [[v3.2_xdg_directories]] === XDG directories Support of XDG directories has been added. For compatibility, if the XDG directories are not found but `~/.weechat` exists, this single directory is used for all files. If you want to switch to XDG directories, you must create and move manually all files in the appropriate directories. + See https://specs.weechat.org/specs/001285-follow-xdg-base-dir-spec.html#weechat-home[WeeChat XDG specification] for more information. Some options have new default value: `%h` is replaced by `${weechat_xxx_dir}`. + If you didn't change the value, it is recommended to set the new default value, by doing `/unset