mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 14:14:48 +02:00
3567 lines
110 KiB
Plaintext
3567 lines
110 KiB
Plaintext
= 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.
|
|
It is recommended to read it when upgrading to a new stable version. +
|
|
For a complete list of changes, please look at ChangeLog.
|
|
|
|
|
|
[[v4.2.3]]
|
|
== Version 4.2.3 (2024-05-31)
|
|
|
|
No release notes.
|
|
|
|
[[v4.2.2]]
|
|
== Version 4.2.2 (2024-04-07)
|
|
|
|
[[v4.2.2_script_keys]]
|
|
=== Script keys
|
|
|
|
Some arguments to the `/script` command were renamed in version 4.1.0, but the
|
|
keys using these arguments were not changed at same time.
|
|
|
|
They're now using the new arguments by default, but you must reset manually
|
|
the keys with the following commands:
|
|
|
|
----
|
|
/reset weechat.key_mouse.@chat(script.scripts):button1
|
|
/reset weechat.key_mouse.@chat(script.scripts):button2
|
|
/reset weechat.key_mouse.@chat(script.scripts):wheeldown
|
|
/reset weechat.key_mouse.@chat(script.scripts):wheelup
|
|
----
|
|
|
|
[[v4.2.1]]
|
|
== Version 4.2.1 (2024-01-22)
|
|
|
|
No release notes.
|
|
|
|
[[v4.2.0]]
|
|
== Version 4.2.0 (2024-01-21)
|
|
|
|
[[v4.2.0_lines_microseconds]]
|
|
=== Microseconds in buffer lines
|
|
|
|
Microseconds have been added in buffer lines (for both date and printed date).
|
|
|
|
Here are the changes that could affect plugins and scripts:
|
|
|
|
* hook_print: the C callback receives a new argument "date_usec" (microseconds
|
|
of date), after the argument "date" (scripting API is unchanged: the
|
|
microseconds are not available)
|
|
* trigger of types "print" and "timer": the format of variable `${tg_date}` is
|
|
changed from `%Y-%m-%d %H:%M:%S` to `%FT%T.%f` (where `%f` is the number of
|
|
microseconds on 6 digits)
|
|
|
|
[[v4.2.0_irc_anti_flood]]
|
|
=== IRC anti-flood
|
|
|
|
The anti-flood mechanism in IRC plugin has been improved and is now configured
|
|
in milliseconds instead of seconds. +
|
|
It is done with a single option `irc.server_default.anti_flood` (and same option
|
|
in servers), which replaces both options `anti_flood_prio_high` and
|
|
`anti_flood_prio_low`.
|
|
|
|
The default value is 2000 (2 seconds), and for example if you want to set
|
|
a delay of 0.5 seconds between your messages sent:
|
|
|
|
----
|
|
/set irc.server_default.anti_flood 500
|
|
----
|
|
|
|
When upgrading from an old WeeChat version, you'll see such messages, which are
|
|
perfectly normal (they're displayed to warn you about unknown options, and then
|
|
you have to set the new option if needed):
|
|
|
|
----
|
|
=!= | Warning: /home/user/.config/weechat/irc.conf, line 131: ignoring unknown option for section "server_default": anti_flood_prio_high = 2
|
|
=!= | Warning: /home/user/.config/weechat/irc.conf, line 132: ignoring unknown option for section "server_default": anti_flood_prio_low = 2
|
|
=!= | Warning: /home/user/.config/weechat/irc.conf, line 212: ignoring invalid value for option in section "server": libera.anti_flood_prio_high
|
|
=!= | Warning: //home/user/.config/weechat/irc.conf, line 213: ignoring invalid value for option in section "server": libera.anti_flood_prio_low
|
|
----
|
|
|
|
[[v4.2.0_search_commands_history]]
|
|
=== Search in commands history
|
|
|
|
Search in commands history has been added with new keys and a new key context
|
|
called "histsearch".
|
|
|
|
Some existing keys have been moved as well.
|
|
|
|
New keys can be changed and added with the following commands after upgrade
|
|
from an old WeeChat version:
|
|
|
|
----
|
|
/key missing
|
|
/key unbind ctrl-s,ctrl-u
|
|
/key bind meta-U /allbuf /buffer set unread
|
|
/key bind ctrl-r /input search_history
|
|
/key bindctxt search ctrl-r /input search_previous
|
|
----
|
|
|
|
[[v4.2.0_irc_rgb_colors]]
|
|
=== RGB colors in IRC messages
|
|
|
|
Support for RGB colors in IRC messages has been added and a new key
|
|
kbd:[Ctrl+c], kbd:[d] is available to insert this color code in command line.
|
|
|
|
You can add this key with this command:
|
|
|
|
----
|
|
/key missing
|
|
----
|
|
|
|
[[v4.2.0_custom_bar_items]]
|
|
=== Custom bar items
|
|
|
|
Custom bar items must now have a different name than default bar items
|
|
(for example the custom bar item name `time` is now forbidden). +
|
|
If you have such names in your config, WeeChat will now fail to load them
|
|
(this should not happen anyway, since such bar items can not be properly used
|
|
or can cause a crash of WeeChat).
|
|
|
|
[[v4.2.0_nick_color_infos]]
|
|
=== Nick color infos
|
|
|
|
The infos irc_nick_color and irc_nick_color_name are deprecated again, and the
|
|
algorithm to compute IRC nick colors has been reverted to case sensitive. +
|
|
The server name has been removed from arguments.
|
|
|
|
[[v4.1.3]]
|
|
== Version 4.1.3 (2024-01-20)
|
|
|
|
No release notes.
|
|
|
|
[[v4.1.2]]
|
|
== Version 4.1.2 (2023-12-03)
|
|
|
|
No release notes.
|
|
|
|
[[v4.1.1]]
|
|
== Version 4.1.1 (2023-10-26)
|
|
|
|
[[v4.1.1_custom_bar_items]]
|
|
=== Custom bar items
|
|
|
|
Custom bar items must now have a different name than default bar items
|
|
(for example the custom bar item name `time` is now forbidden). +
|
|
If you have such names in your config, WeeChat will now fail to load them
|
|
(this should not happen anyway, since such bar items can not be properly used
|
|
or can cause a crash of WeeChat).
|
|
|
|
[[v4.1.0]]
|
|
== Version 4.1.0 (2023-10-15)
|
|
|
|
[[v4.1.0_cursor_mode_keys]]
|
|
=== New keys to move in cursor mode
|
|
|
|
New keys have been added to move in cursor mode, and existing keys to move to
|
|
another area have been changed: modifier is now kbd:[Alt+Shift] instead of
|
|
kbd:[Alt].
|
|
|
|
You can change existing keys and add new ones with these commands:
|
|
|
|
----
|
|
/key bindctxt cursor meta-up /cursor move edge_top
|
|
/key bindctxt cursor meta-down /cursor move edge_bottom
|
|
/key bindctxt cursor meta-left /cursor move edge_left
|
|
/key bindctxt cursor meta-right /cursor move edge_right
|
|
/key bindctxt cursor meta-end /cursor move bottom_right
|
|
/key bindctxt cursor meta-home /cursor move top_left
|
|
/key bindctxt cursor meta-shift-up /cursor move area_up
|
|
/key bindctxt cursor meta-shift-down /cursor move area_down
|
|
/key bindctxt cursor meta-shift-left /cursor move area_left
|
|
/key bindctxt cursor meta-shift-right /cursor move area_right
|
|
----
|
|
|
|
[[v4.1.0_irc_ctcp_replies]]
|
|
=== IRC CTCP replies
|
|
|
|
IRC CTCP replies are now evaluated, with the same variables available, so now
|
|
the syntax is for example `${version}` instead of `$version`. +
|
|
The existing options `irc.ctcp.*` are automatically converted on upgrade.
|
|
|
|
In addition, for privacy reasons, these default CTCP replies have been removed:
|
|
|
|
- FINGER
|
|
- USERINFO
|
|
|
|
If ever you want that WeeChat replies to these CTCP requests, you can add them
|
|
back with the two following commands:
|
|
|
|
----
|
|
/set irc.ctcp.finger "WeeChat ${version}"
|
|
/set irc.ctcp.userinfo "${username} (${realname})"
|
|
----
|
|
|
|
They will then be advertised in reply to "CTCP CLIENTINFO", which is now built
|
|
dynamically with these options.
|
|
|
|
[[v4.1.0_nick_color_infos]]
|
|
=== Nick color infos
|
|
|
|
Two infos to get nick colors have been added: nick_color_ignore_case and
|
|
nick_color_name_ignore_case. +
|
|
They are similar to nick_color and nick_color_name, except they take as second
|
|
argument a range of chars to apply on the nick: the nick is converted to lower
|
|
case using this range of chars.
|
|
|
|
The infos irc_nick_color and irc_nick_color_name, that were deprecated since
|
|
version 1.5 are now used again, with a change in parameter: the server is now
|
|
optional before the nick: "server,nick". +
|
|
The nick is first converted to lower case, following the value of CASEMAPPING
|
|
on the server, then hashed to compute the color. +
|
|
That means the color for a nick is now case insensitive (in the way IRC servers
|
|
are case insensitive, so with a limited range of chars only).
|
|
|
|
If a script was using this info with a comma in nickname (which should not happen
|
|
anyway), this is now interpreted as the server name, and the script must be
|
|
modified. +
|
|
Anyway, it is recommended to always give the server name to respect the
|
|
CASEMAPPING of the server and prevent any issue with a comma in the nickname.
|
|
|
|
For example nick color of "alice" and "ALICE" is now always guaranteed to be the
|
|
same:
|
|
|
|
----
|
|
# with server name (recommended)
|
|
weechat.info_get("irc_nick_color", "libera,alice") == weechat.info_get("irc_nick_color", "libera,ALICE")
|
|
weechat.info_get("irc_nick_color_name", "libera,alice") == weechat.info_get("irc_nick_color_name", "libera,ALICE")
|
|
|
|
# without server name (allowed but not recommended, kept for compatibility)
|
|
weechat.info_get("irc_nick_color", "alice") == weechat.info_get("irc_nick_color", "ALICE")
|
|
weechat.info_get("irc_nick_color_name", "alice") == weechat.info_get("irc_nick_color_name", "ALICE")
|
|
----
|
|
|
|
[[v4.1.0_fset_allowed_values]]
|
|
=== Allowed values for options on fset buffer
|
|
|
|
A new variable `allowed_values` has been added in fset options.
|
|
|
|
The default value for the second format has changed. +
|
|
You can reset it with this command:
|
|
|
|
----
|
|
/reset fset.format.option2
|
|
----
|
|
|
|
[[v4.1.0_fset_mouse]]
|
|
=== Mouse actions on fset buffer
|
|
|
|
Mouse actions on fset buffer has been fixed when option `fset.look.format_number`
|
|
is set to 2.
|
|
|
|
The key for button 1 on fset buffer has been fixed. +
|
|
You can reset it with this command:
|
|
|
|
----
|
|
/reset weechat.key_mouse.@chat(fset.fset):button1
|
|
----
|
|
|
|
[[v4.0.8]]
|
|
== Version 4.0.8 (2024-01-20)
|
|
|
|
No release notes.
|
|
|
|
[[v4.0.7]]
|
|
== Version 4.0.7 (2023-12-03)
|
|
|
|
No release notes.
|
|
|
|
[[v4.0.6]]
|
|
== Version 4.0.6 (2023-10-26)
|
|
|
|
[[v4.0.6_custom_bar_items]]
|
|
=== Custom bar items
|
|
|
|
Custom bar items must now have a different name than default bar items
|
|
(for example the custom bar item name `time` is now forbidden).
|
|
|
|
If you have such names in your config, WeeChat will now fail to load them
|
|
(this should not happen anyway, since such bar items can not be properly used
|
|
and can cause a crash of WeeChat).
|
|
|
|
[[v4.0.5]]
|
|
== Version 4.0.5 (2023-09-24)
|
|
|
|
No release notes.
|
|
|
|
[[v4.0.4]]
|
|
== Version 4.0.4 (2023-08-22)
|
|
|
|
No release notes.
|
|
|
|
[[v4.0.3]]
|
|
== Version 4.0.3 (2023-08-08)
|
|
|
|
No release notes.
|
|
|
|
[[v4.0.2]]
|
|
== Version 4.0.2 (2023-07-12)
|
|
|
|
No release notes.
|
|
|
|
[[v4.0.1]]
|
|
== Version 4.0.1 (2023-06-30)
|
|
|
|
[[v4.0.1_config_set_plugin]]
|
|
=== Functions config_set_plugin and config_set_desc_plugin
|
|
|
|
The functions link:https://weechat.org/doc/weechat/plugin/#_config_set_plugin[config_set_plugin]
|
|
and link:https://weechat.org/doc/weechat/plugin/#_config_set_desc_plugin[config_set_desc_plugin]
|
|
are not converting any more the option name to lower case because since version 4.0.0,
|
|
the name of options is case sensitive.
|
|
|
|
[[v4.0.1_grab_raw_key]]
|
|
=== Grab raw key and command
|
|
|
|
Key kbd:[Alt+K] (upper case) has been removed, as well as commands
|
|
`/input grab_raw_key` and `/input grab_raw_key_command`.
|
|
|
|
Now the key kbd:[Alt+k] displays the actual key name and command, possibly
|
|
raw key.
|
|
|
|
[[v4.0.0]]
|
|
== Version 4.0.0 (2023-06-24)
|
|
|
|
This is a major version that includes breaking changes described below.
|
|
|
|
[[v4.0.0_irc_capabilities]]
|
|
=== Support of new IRC capabilities
|
|
|
|
Support of new capabilities has been introduced in this version and are all
|
|
enabled by default, if the server supports them:
|
|
|
|
* batch
|
|
* draft/multiline
|
|
* echo-message
|
|
|
|
When the capability "echo-message" is enabled, you may notice time before your
|
|
own IRC messages are displayed in the buffer, this is normal : the capability
|
|
forces the server to sent back messages, and WeeChat displays messages only
|
|
when they are received from the server.
|
|
|
|
If you want to disable this capability on all servers, you can do:
|
|
|
|
----
|
|
/set irc.server_default.capabilities "*,!echo-message"
|
|
----
|
|
|
|
If you are already connected to a server with echo-message enabled, just ask
|
|
the server to disable the capability on-the-fly (no need to reconnect):
|
|
|
|
----
|
|
/cap req -echo-message
|
|
----
|
|
|
|
[[v4.0.0_config_files]]
|
|
=== Configuration file version
|
|
|
|
A version has been introduced in configuration file, and due to the many
|
|
breaking changes (listed in the chapters below), the following files are
|
|
automatically upgraded to a new version:
|
|
|
|
- weechat.conf: new key names
|
|
(see <<v4.0.0_key_bindings_improvements,Key bindings improvements>>)
|
|
- alias.conf: aliases converted to lower case
|
|
(see <<v4.0.0_case_sensitive_identifiers,Case sensitive identifiers>>)
|
|
- irc.conf: options "ssl*" renamed to "tls*"
|
|
(see <<v4.0.0_tls,TLS options and connections>>)
|
|
- relay.conf: options and protocol "ssl*" renamed to "tls*"
|
|
(see <<v4.0.0_tls,TLS options and connections>>)
|
|
|
|
[WARNING]
|
|
Because of this new format, you must *NOT* load the new configuration files
|
|
in any older WeeChat version < 4.0.0 once you have run any version ≥ 4.0.0
|
|
at least one time. +
|
|
For example the new key names make the input completely broken (you can not
|
|
enter most chars in input any more and Enter key does not work).
|
|
|
|
[[v4.0.0_key_bindings_improvements]]
|
|
=== Key bindings improvements
|
|
|
|
The format of key bindings has changed to be more user-friendly, and this is
|
|
a breaking change: legacy keys are automatically converted, but some triggers,
|
|
plugins or scripts might need manual changes.
|
|
|
|
Overview of new features:
|
|
|
|
- use of alias for keys (`meta-left` instead of `meta2-1;3D`)
|
|
- use comma to separate keys in combos (`meta-w,meta-up` instead of
|
|
`meta-wmeta-meta2-A`)
|
|
- control keys are converted to lower keys (`ctrl-a` instead of `ctrl-A`)
|
|
- keys are normal options, so they are shown and can be updated with `/set`
|
|
and `/fset` commands
|
|
- command `/key` without arguments opens the fset buffer with all keys
|
|
|
|
See https://specs.weechat.org/specs/2023-002-key-bindings-improvements.html[Key bindings improvements specification]
|
|
for more information.
|
|
|
|
[[v4.0.0_new_key_format]]
|
|
==== New key format
|
|
|
|
Aliases are now used for keys, like `f1`, `home`, `return`, etc. +
|
|
In addition, a comma is now required between different keys, for example `ctrl-cb`
|
|
is not valid any more and must be replaced by `ctrl-c,b`.
|
|
|
|
The keys in weechat.conf are automatically converted from legacy format on first
|
|
run or upgrade with a legacy configuration file.
|
|
|
|
For keys bound in external plugins or scripts, WeeChat tries to convert them
|
|
on-the-fly to stay compatible, but this can not work in all cases (this is a
|
|
breaking change).
|
|
|
|
The following fixes are done on keys when they are defined:
|
|
|
|
- transform upper case ctrl keys to lower case
|
|
- replace space char by `space`
|
|
- replace `meta2-` by `meta-[` (modifier `meta2-` doesn't exist any more)
|
|
- mouse modifiers are now in this order: `alt-` then `ctrl-`.
|
|
|
|
A warning is displayed when a raw key or invalid key is added. +
|
|
For example `meta-[A` (which should be `up`) or `ctrl-ca` (missing comma, it
|
|
should be `ctrl-c,a`).
|
|
|
|
[[v4.0.0_grab_raw_key]]
|
|
==== Grab raw key and command
|
|
|
|
New key kbd:[Alt+K] (upper case) is added to grab raw key and its command.
|
|
|
|
Most of times this command is not needed, and the existing key kbd:[Alt+k]
|
|
(lower case) is preferred, as it returns the key using the new aliases.
|
|
|
|
For example:
|
|
|
|
- key kbd:[Alt+k] then up arrow displays: `up /input history_previous`
|
|
- key kbd:[Alt+K] then up arrow displays: `meta-[A`
|
|
|
|
Raw keys have higher priority than key with alias (they are looked first);
|
|
they can still be used and bound, but this is not recommended. +
|
|
They should be used only in case of problem with the new aliases or with your
|
|
terminal.
|
|
|
|
[[v4.0.0_ctrl_keys_lower_case]]
|
|
==== Control keys as lower case
|
|
|
|
Keys using the kbd:[Ctrl] key and a letter are now automatically converted to
|
|
lower case. +
|
|
That means for example keys `ctrl-q` and `ctrl-Q` are the same and saved as
|
|
`ctrl-q` (lower case).
|
|
|
|
Example of key being automatically converted to lower case:
|
|
|
|
----
|
|
/key bind ctrl-Q /print test
|
|
----
|
|
|
|
Output is now:
|
|
|
|
----
|
|
New key binding (context "default"): ctrl-q => /print test
|
|
----
|
|
|
|
With older releases, upper case was mandatory and lower case letter for control
|
|
keys were not working at all.
|
|
|
|
[[v4.0.0_case_sensitive_identifiers]]
|
|
=== Case sensitive identifiers
|
|
|
|
Many identifiers are made case sensitive, including among others:
|
|
|
|
- configuration files, sections, options
|
|
- commands, aliases
|
|
- completion (except nick completion)
|
|
- bars, bar items
|
|
- colors
|
|
- filters
|
|
- IRC servers
|
|
- scripts
|
|
- triggers.
|
|
|
|
See https://specs.weechat.org/specs/2023-001-case-sensitive-identifiers.html[Case sensitive identifiers specification]
|
|
for more information.
|
|
|
|
Accordingly, default aliases are now in lower case. +
|
|
All aliases (default ones and those added manually) are automatically converted
|
|
to lower case with a message like this one:
|
|
|
|
----
|
|
Alias converted to lower case: "CLOSE" => "close"
|
|
----
|
|
|
|
[[v4.0.0_tls]]
|
|
=== TLS options and connections
|
|
|
|
Option `weechat.color.status_name_insecure` has been added, the buffer name
|
|
is now displayed with color `lightmagenta` by default if the connection with
|
|
the server is *NOT* made with TLS.
|
|
|
|
Options, commands and documentation have been updated to "TLS" instead of "SSL":
|
|
|
|
* core option:
|
|
** weechat.color.status_name_ssl -> weechat.color.status_name_tls
|
|
* IRC server default options:
|
|
** irc.server_default.ssl -> irc.server_default.tls
|
|
** irc.server_default.ssl_cert -> irc.server_default.tls_cert
|
|
** irc.server_default.ssl_dhkey_size -> irc.server_default.tls_dhkey_size
|
|
** irc.server_default.ssl_fingerprint -> irc.server_default.tls_fingerprint
|
|
** irc.server_default.ssl_password -> irc.server_default.tls_password
|
|
** irc.server_default.ssl_priorities -> irc.server_default.tls_priorities
|
|
** irc.server_default.ssl_verify -> irc.server_default.tls_verify
|
|
* IRC options for a specific server:
|
|
** irc.server.xxx.ssl -> irc.server.xxx.tls
|
|
** irc.server.xxx.ssl_cert -> irc.server.xxx.tls_cert
|
|
** irc.server.xxx.ssl_dhkey_size -> irc.server.xxx.tls_dhkey_size
|
|
** irc.server.xxx.ssl_fingerprint -> irc.server.xxx.tls_fingerprint
|
|
** irc.server.xxx.ssl_password -> irc.server.xxx.tls_password
|
|
** irc.server.xxx.ssl_priorities -> irc.server.xxx.tls_priorities
|
|
** irc.server.xxx.ssl_verify -> irc.server.xxx.tls_verify
|
|
* Relay options:
|
|
** relay.network.ssl_cert_key -> relay.network.tls_cert_key
|
|
** relay.network.ssl_priorities -> relay.network.tls_priorities
|
|
* Relay:
|
|
** protocol `ssl` -> `tls`
|
|
* Relay command:
|
|
** `/relay sslcertkey` -> `/relay tlscertkey`
|
|
|
|
Default value of option `irc.server_default.tls` is now `on`. +
|
|
Connection to IRC servers is done with TLS and port 6697 by default.
|
|
|
|
For example to create libera.chat server, using TLS (if option
|
|
`irc.server_default.tls` is `on`) and default port 6697:
|
|
|
|
----
|
|
/server add libera irc.libera.chat
|
|
|
|
irc: server added: libera -> irc.libera.chat/6697 (TLS: enabled)
|
|
----
|
|
|
|
To force non-TLS connection (with default port 6667):
|
|
|
|
----
|
|
/server add libera irc.libera.chat -notls
|
|
|
|
irc: server added: libera -> irc.libera.chat/6667 (TLS: disabled)
|
|
----
|
|
|
|
[[v4.0.0_insert_multiple_pasted_lines]]
|
|
=== Insert of multiple pasted lines in input
|
|
|
|
By default multiple pasted lines are now inserted in input and not sent immediately.
|
|
|
|
To enable this feature, the default value of option `weechat.look.paste_max_lines`
|
|
has been changed to `100` (it was `1`). +
|
|
If needed, you can reset the option to the new default value after upgrade:
|
|
|
|
----
|
|
/reset weechat.look.paste_max_lines
|
|
----
|
|
|
|
The option `weechat.look.paste_auto_add_newline` has been removed.
|
|
|
|
[[v4.0.0_default_triggers]]
|
|
=== Default triggers
|
|
|
|
The default triggers "cmd_pass", "cmd_pass_register" and "server_pass" have
|
|
been updated to be compatible with multiline input.
|
|
|
|
You can restore these default triggers with the following command:
|
|
|
|
----
|
|
/trigger restore cmd_pass cmd_pass_register server_pass
|
|
----
|
|
|
|
[[v4.0.0_build]]
|
|
=== Build
|
|
|
|
[[v4.0.0_build_autotools]]
|
|
==== Autotools
|
|
|
|
The autotools support for build of WeeChat has been removed. +
|
|
WeeChat must now be built with CMake.
|
|
|
|
[[v4.0.0_build_doc]]
|
|
==== Documentation
|
|
|
|
The auto-generated files for documentation are now built with `weechat-headless`,
|
|
after compilation of WeeChat and the plugins (the files are not in repository
|
|
any more). +
|
|
This implies all plugins must be compiled and loaded in order to have complete docs
|
|
(User's guide and Plugin API reference).
|
|
|
|
If ever you want to disable some plugins and force the build of incomplete docs,
|
|
a new option has been added: `ENABLE_DOC_INCOMPLETE` (`OFF` by default).
|
|
|
|
For example if you disable PHP plugin but still want docs where PHP options,
|
|
commands, etc. are missing:
|
|
|
|
----
|
|
cmake .. -DENABLE_PHP=OFF -DENABLE_DOC=ON -DENABLE_DOC_INCOMPLETE=ON
|
|
----
|
|
|
|
[[v4.0.0_packaging]]
|
|
=== Packaging
|
|
|
|
[[v4.0.0_packaging_tarballs]]
|
|
==== Tarballs
|
|
|
|
The command `make dist` now builds only `.gz` and `.xz` compressed tarballs. +
|
|
Formats `.bz2` and `.zst` are not built any more.
|
|
|
|
[[v4.0.0_packaging_rpm]]
|
|
==== RPM packaging
|
|
|
|
The file `weechat.spec` used for RPM packaging has been removed. +
|
|
openSUSE has its own here:
|
|
https://build.opensuse.org/package/view_file/server:irc/weechat/weechat.spec?expand=1
|
|
|
|
[[v4.0.0_packaging_cpack]]
|
|
==== cpack
|
|
|
|
The configuration for cpack has been removed. +
|
|
It was used to build binary package of WeeChat, which has never been released
|
|
in this format.
|
|
|
|
[[v4.0.0_bar_new]]
|
|
=== Function bar_new
|
|
|
|
When the bar name already exists, the API function
|
|
link:https://weechat.org/doc/weechat/plugin/#_bar_new[bar_new] returns the pointer to
|
|
the bar (instead of NULL) and sets the default value for all options with the
|
|
values received. +
|
|
If you don't want to set default values in an existing bar, it is recommended
|
|
to first check if the bar exists with the API function
|
|
link:https://weechat.org/doc/weechat/plugin/#_bar_search[bar_search].
|
|
|
|
[[v3.8]]
|
|
== Version 3.8 (2023-01-08)
|
|
|
|
[[v3.8_command_input_options]]
|
|
=== Move of options out of command /input
|
|
|
|
Some options of `/input` command have been moved to other commands (they can
|
|
still be used with `/input` but marked as deprecated and completion has been
|
|
removed):
|
|
|
|
[width="100%",cols="4m,4m,3",options="header"]
|
|
|===
|
|
| Old command | New command | Default key
|
|
| /input jump_smart | /buffer jump smart | kbd:[Alt+a]
|
|
| /input jump_previously_visited_buffer | /buffer jump prev_visited | kbd:[Alt+<]
|
|
| /input jump_next_visited_buffer | /buffer jump next_visited | kbd:[Alt+>]
|
|
| /input jump_last_buffer_displayed | /buffer jump last_displayed | kbd:[Alt+/]
|
|
| /input hotlist_clear | /hotlist clear | kbd:[Alt+h], kbd:[Alt+c]
|
|
| /input hotlist_remove_buffer | /hotlist remove | kbd:[Alt+h], kbd:[Alt+m]
|
|
| /input hotlist_restore_buffer | /hotlist restore | kbd:[Alt+h], kbd:[Alt+r]
|
|
| /input hotlist_restore_all | /hotlist restore -all | kbd:[Alt+h], kbd:[Alt+Shift+R]
|
|
| /input set_unread | /allbuf /buffer set unread | kbd:[Ctrl+s], kbd:[Ctrl+u]
|
|
| /input set_unread_current_buffer | /buffer set unread | (none)
|
|
| /input switch_active_buffer | /buffer switch | kbd:[Ctrl+x]
|
|
| /input switch_active_buffer_previous | /buffer switch -previous | (none)
|
|
| /input zoom_merged_buffer | /buffer zoom | kbd:[Alt+x]
|
|
|===
|
|
|
|
The following default keys can be reset to use the new command:
|
|
|
|
----
|
|
/key reset meta-a
|
|
/key reset meta-<
|
|
/key reset meta->
|
|
/key reset meta-/
|
|
/key reset meta-hmeta-c
|
|
/key reset meta-hmeta-m
|
|
/key reset meta-hmeta-r
|
|
/key reset meta-hmeta-R
|
|
/key reset ctrl-Sctrl-U
|
|
/key reset ctrl-X
|
|
/key reset meta-x
|
|
----
|
|
|
|
[[v3.8_return_code_string_comparison_functions]]
|
|
=== Return code of string comparison functions
|
|
|
|
The following functions now return arithmetic result of subtracting the last
|
|
compared UTF-8 char in string2 from the last compared UTF-8 char in string1:
|
|
|
|
* string_charcmp
|
|
* string_charcasecmp
|
|
* string_charcasecmp_range
|
|
* string_strcasecmp
|
|
* string_strcasecmp_range
|
|
* string_strncasecmp
|
|
* string_strncasecmp_range
|
|
* string_strcmp_ignore_chars
|
|
|
|
In addition, the case conversion has been extended, now in addition to range
|
|
A-Z, all chars that have a lower case version are handled. +
|
|
That means for example the case insensitive comparison of "é" and "É" is 0
|
|
(chars are considered equal).
|
|
|
|
Example with WeeChat 3.8:
|
|
|
|
[source,c]
|
|
----
|
|
int diff = string_strcasecmp ("aaa", "CCC"); /* == -2 */
|
|
----
|
|
|
|
With older releases:
|
|
|
|
[source,c]
|
|
----
|
|
int diff = string_strcasecmp ("aaa", "CCC"); /* == -1 */
|
|
----
|
|
|
|
[[v3.8_api_string_lower_upper]]
|
|
=== API functions string_tolower and string_toupper
|
|
|
|
The functions link:https://weechat.org/doc/weechat/plugin/#_string_tolower[string_tolower]
|
|
and link:https://weechat.org/doc/weechat/plugin/#_string_toupper[string_toupper]
|
|
now return newly allocated string instead of doing the change in place. +
|
|
The returned string must then be freed after use.
|
|
|
|
[[v3.8_trigger_regex_command]]
|
|
=== Trigger regex command
|
|
|
|
The trigger regex now starts with a command, which is "s" (regex replace, default)
|
|
or "y" (translate chars).
|
|
|
|
For compatibility, any regex starting with a delimiter different from a letter
|
|
will still work.
|
|
|
|
If you defined some triggers with a regex starting with a letter (used as delimiter),
|
|
then you must change them *before* upgrading WeeChat, otherwise they'll be lost
|
|
after upgrade (with an error when WeeChat tries to load them from configuration file).
|
|
|
|
For example this regex is now invalid:
|
|
|
|
----
|
|
XabcXdefX
|
|
----
|
|
|
|
And must be replaced by:
|
|
|
|
----
|
|
sXabcXdefX
|
|
----
|
|
|
|
For more information on the regex format, see the trigger chapter in the
|
|
_WeeChat User's guide_.
|
|
|
|
[[v3.8_remove_python2_support]]
|
|
=== Remove Python 2 support
|
|
|
|
The CMake option `ENABLE_PYTHON2` and autotools option `--enable-python2`
|
|
have been removed, and WeeChat can not be compiled with Python 2.x any more.
|
|
|
|
[[v3.8_config_new_option_callbacks]]
|
|
=== Callbacks of function config_new_option
|
|
|
|
The two callbacks "callback_change" and "callback_delete" in scripting API function
|
|
config_new_option have been changed: an integer return value was expected by error,
|
|
now any return value is ignored (like it has always been in the C API).
|
|
|
|
[[v3.7.1]]
|
|
== Version 3.7.1 (2022-10-21)
|
|
|
|
No release notes.
|
|
|
|
[[v3.7]]
|
|
== Version 3.7 (2022-10-09)
|
|
|
|
[[v3.7_upgrade_new_callback_object_id]]
|
|
=== Argument "object_id" in callback of upgrade_new
|
|
|
|
In all script languages (except PHP), the argument "object_id" sent to the
|
|
callback of "upgrade_new" is now an integer (it was a string in older releases).
|
|
|
|
To be compatible with all versions, it is recommended to convert the argument
|
|
to integer before testing it, for example in Python:
|
|
|
|
[source,python]
|
|
----
|
|
if int(object_id) == 1:
|
|
# ...
|
|
----
|
|
|
|
[[v3.7_hook_timer_callback_remaining_calls]]
|
|
=== Argument "remaining_calls" in callback of hook_timer
|
|
|
|
In all script languages (except PHP), the argument "remaining_calls" sent to the
|
|
callback of "hook_timer" is now an integer (it was a string in older releases).
|
|
|
|
To be compatible with all versions, it is recommended to convert the argument
|
|
to integer before testing it, for example in Python:
|
|
|
|
[source,python]
|
|
----
|
|
if int(remaining_calls) > 0:
|
|
# ...
|
|
----
|
|
|
|
[[v3.7_delete_previous_word_whitespace]]
|
|
=== Delete previous word until whitespace
|
|
|
|
A new parameter `delete_previous_word_whitespace` has been added in `/input`
|
|
command to delete previous word until backspace. +
|
|
This is now bound by default to the key kbd:[Ctrl+w] (see issue #559).
|
|
|
|
A new key kbd:[Alt+Backspace] has been added to delete word, like kbd:[Ctrl+w]
|
|
did in previous releases.
|
|
|
|
You can get the new behavior for kbd:[Ctrl+w] with this command:
|
|
|
|
----
|
|
/key bind ctrl-W /input delete_previous_word_whitespace
|
|
----
|
|
|
|
And add the new key kbd:[Alt+Backspace] with this command:
|
|
|
|
----
|
|
/key missing
|
|
----
|
|
|
|
[[v3.7_api_string_rebuild_split_string]]
|
|
=== Function string_rebuild_split_string
|
|
|
|
The API function string_build_with_split_string has been renamed to
|
|
link:https://weechat.org/doc/weechat/plugin/#_string_rebuild_split_string[string_rebuild_split_string]
|
|
and two new arguments have been added: _index_start_ and _index_end_.
|
|
|
|
To stay compatible, the existing calls to the function must be done with the
|
|
new function name and these values:
|
|
|
|
* _index_start_: `0`
|
|
* _index_end_: `-1`
|
|
|
|
[[v3.6]]
|
|
== Version 3.6 (2022-07-10)
|
|
|
|
[[v3.6_hook_print_empty_messages]]
|
|
=== Hook print on empty messages
|
|
|
|
The "hook_print" callback is now called even when an empty message is displayed
|
|
(with or without prefix).
|
|
|
|
This was a bug, but is mentioned here just in case some scripts callbacks
|
|
would be surprised to be called with such empty messages.
|
|
|
|
[[v3.6_trigger_beep]]
|
|
=== Default trigger "beep"
|
|
|
|
The command of "beep" trigger is now executed only if the buffer notify is NOT
|
|
set to `none` (in addition to existing conditions).
|
|
|
|
You can restore the default trigger "beep" with the following command:
|
|
|
|
----
|
|
/trigger restore beep
|
|
----
|
|
|
|
[[v3.5]]
|
|
== Version 3.5 (2022-03-27)
|
|
|
|
[[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/weechat/relay/#command_handshake[handshake] command.
|
|
|
|
The option `compression` in link:https://weechat.org/doc/weechat/relay/#command_handshake[init]
|
|
command has been removed, it is now ignored and must be given in the
|
|
link:https://weechat.org/doc/weechat/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)
|
|
|
|
No release notes.
|
|
|
|
[[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 <nick> <key> <password>`
|
|
and support the option `-server <name>`.
|
|
|
|
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/weechat/plugin/#_hdata_search[hdata_search], used for the
|
|
evaluation of expression.
|
|
|
|
New parameters are the same as function
|
|
link:https://weechat.org/doc/weechat/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/weechat/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)
|
|
|
|
No release notes.
|
|
|
|
[[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 <option>` on each option:
|
|
|
|
[width="100%",cols="2m,2m,5m",options="header"]
|
|
|===
|
|
| Option | Old default value | New default value
|
|
| fifo.file.path | %h/weechat_fifo | ${weechat_runtime_dir}/weechat_fifo_${info:pid}
|
|
| logger.file.path | %h/logs/ | ${weechat_data_dir}/logs
|
|
| relay.network.ssl_cert_key | %h/ssl/relay.pem | ${weechat_config_dir}/ssl/relay.pem
|
|
| script.scripts.path | %h/script | ${weechat_cache_dir}/script
|
|
| weechat.plugin.path | %h/plugins | ${weechat_data_dir}/plugins
|
|
| xfer.file.download_path | %h/xfer | ${weechat_data_dir}/xfer
|
|
|===
|
|
|
|
The following scripts are updated to take care of XDG directories, be sure
|
|
they are all up-to-date, otherwise files may be saved in wrong directories or
|
|
the script may not find some files:
|
|
|
|
* https://weechat.org/scripts/source/autoconf.py/[autoconf.py] 0.4
|
|
* https://weechat.org/scripts/source/axolotl.py/[axolotl.py] 0.1.1
|
|
* https://weechat.org/scripts/source/beinc.py/[beinc.py] 4.2
|
|
* https://weechat.org/scripts/source/buddylist.pl/[buddylist.pl] 2.1
|
|
* https://weechat.org/scripts/source/bufsave.py/[bufsave.py] 0.5
|
|
* https://weechat.org/scripts/source/chanop.py/[chanop.py] 0.3.4
|
|
* https://weechat.org/scripts/source/chanstat.py/[chanstat.py] 0.2
|
|
* https://weechat.org/scripts/source/colorize_lines.pl/[colorize_lines.pl] 4.0
|
|
* https://weechat.org/scripts/source/confversion.py/[confversion.py] 0.4
|
|
* https://weechat.org/scripts/source/country.py/[country.py] 0.6.2
|
|
* https://weechat.org/scripts/source/cron.py/[cron.py] 0.5
|
|
* https://weechat.org/scripts/source/crypt.py/[crypt.py] 1.4.5
|
|
* https://weechat.org/scripts/source/grep.py/[grep.py] 0.8.5
|
|
* https://weechat.org/scripts/source/growl.py/[growl.py] 1.0.7
|
|
* https://weechat.org/scripts/source/histman.py/[histman.py] 0.8.2
|
|
* https://weechat.org/scripts/source/hl2file.py/[hl2file.py] 0.3
|
|
* https://weechat.org/scripts/source/hotlist2extern.pl/[hotlist2extern.pl] 1.0
|
|
* https://weechat.org/scripts/source/jnotify.pl/[jnotify.pl] 1.2
|
|
* https://weechat.org/scripts/source/latex_unicode.py/[latex_unicode.py] 1.2
|
|
* https://weechat.org/scripts/source/luanma.pl/[luanma.pl] 0.3
|
|
* https://weechat.org/scripts/source/otr.py/[otr.py] 1.9.3
|
|
* https://weechat.org/scripts/source/pop3_mail.pl/[pop3_mail.pl] 0.4
|
|
* https://weechat.org/scripts/source/purgelogs.py/[purgelogs.py] 0.5
|
|
* https://weechat.org/scripts/source/query_blocker.pl/[query_blocker.pl] 1.3
|
|
* https://weechat.org/scripts/source/queryman.py/[queryman.py] 0.6
|
|
* https://weechat.org/scripts/source/queue.py/[queue.py] 0.4.3
|
|
* https://weechat.org/scripts/source/rslap.pl/[rslap.pl] 1.4
|
|
* https://weechat.org/scripts/source/rssagg.pl/[rssagg.pl] 1.3
|
|
* https://weechat.org/scripts/source/slack.py/[slack.py] 2.8.0
|
|
* https://weechat.org/scripts/source/stalker.pl/[stalker.pl] 1.6.2
|
|
* https://weechat.org/scripts/source/substitution.rb/[substitution.rb] 0.0.2
|
|
* https://weechat.org/scripts/source/triggerreply.py/[triggerreply.py] 0.4.3
|
|
* https://weechat.org/scripts/source/update_notifier.py/[update_notifier.py] 0.6
|
|
* https://weechat.org/scripts/source/url_olde.py/[url_olde.py] 0.8
|
|
* https://weechat.org/scripts/source/urlserver.py/[urlserver.py] 2.6
|
|
* https://weechat.org/scripts/source/weetext.py/[weetext.py] 0.1.3
|
|
* https://weechat.org/scripts/source/zncplayback.py/[zncplayback.py] 0.2.1
|
|
|
|
To check if XDG directories are used, you can run command `/debug dirs`, which
|
|
should show different directories for config/data/cache/runtime, like this:
|
|
|
|
----
|
|
Directories:
|
|
home:
|
|
config: /home/user/.config/weechat
|
|
data: /home/user/.local/share/weechat
|
|
cache: /home/user/.cache/weechat
|
|
runtime: /run/user/1000/weechat
|
|
lib: /usr/lib/x86_64-linux-gnu/weechat
|
|
lib (extra): -
|
|
share: /usr/share/weechat
|
|
locale: /usr/share/locale
|
|
----
|
|
|
|
With the legacy `~/.weechat` directory, the output would be:
|
|
|
|
----
|
|
Directories:
|
|
home:
|
|
config: /home/user/.weechat
|
|
data: /home/user/.weechat
|
|
cache: /home/user/.weechat
|
|
runtime: /home/user/.weechat
|
|
lib: /usr/lib/x86_64-linux-gnu/weechat
|
|
lib (extra): -
|
|
share: /usr/share/weechat
|
|
locale: /usr/share/locale
|
|
----
|
|
|
|
[[v3.2_gnutls_ca]]
|
|
=== GnuTLS certificate authorities
|
|
|
|
A new option has been added to load system's default trusted certificate
|
|
authorities on startup: weechat.network.gnutls_ca_system (boolean, enabled
|
|
by default).
|
|
|
|
The option weechat.network.gnutls_ca_file has been renamed to
|
|
weechat.network.gnutls_ca_user and is now used for extra certificates
|
|
(not the system ones). +
|
|
This option now supports multiple files, separated by colons.
|
|
|
|
If you have set a user CA file in option weechat.network.gnutls_ca_file,
|
|
then you must set this same value in the new option weechat.network.gnutls_ca_user.
|
|
|
|
When one of these options are changed, all certificates are purged and reloaded
|
|
from files.
|
|
|
|
[[v3.2_split_commands_before_eval]]
|
|
=== Split of commands before evaluation
|
|
|
|
The split of commands is now performed before the evaluation of string, in the
|
|
following cases:
|
|
|
|
* IRC server option irc.server_default.command or irc.server.xxx.command
|
|
* startup option with command line parameter `-r` / `--run-command`
|
|
* options weechat.startup.command_before_plugins and weechat.startup.command_after_plugins.
|
|
|
|
If ever you used here multiple commands that are found by evaluation, then
|
|
you must use multiple commands directly.
|
|
|
|
For example if you did this:
|
|
|
|
----
|
|
/secure set commands "/command1 secret1;/command2 secret2"
|
|
/set irc.server.libera.command "${sec.data.commands}"
|
|
----
|
|
|
|
This will now execute a single command: `/command1` with two parameters:
|
|
`secret1;/command2` and `secret2`, which is not what you expect.
|
|
|
|
So you must now do this instead:
|
|
|
|
----
|
|
/secure set command1 "/command1 secret1"
|
|
/secure set command2 "/command2 secret2"
|
|
/set irc.server.libera.command "${sec.data.command1};${sec.data.command2}"
|
|
----
|
|
|
|
You could also do this, but be careful, there are two evaluations of strings
|
|
(the secured data itself is evaluated as well):
|
|
|
|
----
|
|
/secure set commands "/command1 secret1;/command2 secret2"
|
|
/set irc.server.libera.command "/eval -s ${sec.data.commands}"
|
|
----
|
|
|
|
[[v3.1]]
|
|
== Version 3.1 (2021-03-07)
|
|
|
|
[[v3.1_secure_data_passphrase_command]]
|
|
=== External program to read secured data passphrase
|
|
|
|
A new option `sec.crypt.passphrase_command` has been added to read the passphrase
|
|
from the output of an external program (like a password manager).
|
|
|
|
The option `sec.crypt.passphrase_file` has been removed, because the command
|
|
can now read a file as well. If you used a file to read the passphrase, you
|
|
must now setup the command like this:
|
|
|
|
----
|
|
/set sec.crypt.passphrase_command "cat ~/.weechat-passphrase"
|
|
----
|
|
|
|
For security reasons, it is of course highly recommended to use a password manager
|
|
or a program to decrypt a file with your passphrase rather than using a file with
|
|
the clear password. +
|
|
For example with password-store (command `pass`):
|
|
|
|
----
|
|
/set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase"
|
|
----
|
|
|
|
[[v3.1_window_splitv]]
|
|
=== Vertical split of windows
|
|
|
|
The vertical split of windows has been fixed (see issue #1612): now the new
|
|
window has the asked size, instead of the original window.
|
|
|
|
For example with this command the new window (on the right) has size 80% instead
|
|
of 20% in previous releases:
|
|
|
|
----
|
|
/window splitv 80
|
|
----
|
|
|
|
[[v3.1_command_buffer_listvar]]
|
|
=== List of buffer local variables
|
|
|
|
The command `/buffer localvar` has been renamed to `/buffer listvar`.
|
|
|
|
The option `localvar` is still supported to stay compatible with scripts
|
|
calling it or referencing it in the documentation. +
|
|
It is deprecated and will be removed in a future release.
|
|
|
|
New options `setvar` and `delvar` were also added in command `/buffer`,
|
|
see `/help buffer`.
|
|
|
|
[[v3.1_buflist_option_use_items]]
|
|
=== Buflist option buflist.look.use_items
|
|
|
|
A new buflist option `buflist.look.use_items` has been added to speed up
|
|
display of buflist, in case you use a single buflist item (the most common use case).
|
|
|
|
If ever you use more than one item (item "buflist2" or even "buflist3"), you
|
|
must adjust the value of the new option, which defaults to 1:
|
|
|
|
----
|
|
/set buflist.look.use_items 2
|
|
----
|
|
|
|
[[v3.0.1]]
|
|
== Version 3.0.1 (2021-01-31)
|
|
|
|
No release notes.
|
|
|
|
[[v3.0]]
|
|
== Version 3.0 (2020-11-11)
|
|
|
|
[[v3.0_script_option_download_enabled]]
|
|
=== New option to enable download of scripts
|
|
|
|
A new option has been added to allow the script plugin to download the list of
|
|
scripts and the scripts themselves (on weechat.org by default).
|
|
|
|
This option is `off` by default, so you must opt in if you want to use the
|
|
`/script` command, even if you upgraded from an old WeeChat version:
|
|
|
|
----
|
|
/set script.scripts.download_enabled on
|
|
----
|
|
|
|
[NOTE]
|
|
When this option is enabled, WeeChat can sometimes download again the list of
|
|
scripts when you use the `/script` command, even if you don't install a script.
|
|
|
|
[[v3.0_irc_commands_allchan_allpv_allserv]]
|
|
=== IRC commands /allchan, /allpv and /allserv
|
|
|
|
The command and arguments given to commands `/allchan`, `/allpv` and `/allserv`
|
|
are now evaluated (see `/help` on the commands for more information).
|
|
|
|
Additionally, a breaking change has been introduced: the leading `/` is now
|
|
required in these commands, so this allows to send text to buffers without
|
|
using the command `/msg * xxx`.
|
|
|
|
So with previous releases, to say "hello" on all channels:
|
|
|
|
----
|
|
/allchan msg * hello
|
|
----
|
|
|
|
Now it can be done like this:
|
|
|
|
----
|
|
/allchan hello
|
|
----
|
|
|
|
If you want to use a command, you must add explicitly the leading `/`:
|
|
|
|
----
|
|
/allchan /msg * hello
|
|
----
|
|
|
|
[[v3.0_trigger_beep]]
|
|
=== Default trigger "beep"
|
|
|
|
The command of "beep" trigger is now executed only if the message does NOT
|
|
contain the tag "notify_none" (in addition to existing conditions).
|
|
|
|
You can restore the default trigger "beep" with the following command:
|
|
|
|
----
|
|
/trigger restore beep
|
|
----
|
|
|
|
[[v2.9]]
|
|
== Version 2.9 (2020-07-18)
|
|
|
|
[[v2.9_bar_color_bg_inactive]]
|
|
=== New background color for inactive bars
|
|
|
|
A new option has been added in bar: "color_bg_inactive". It is used for window
|
|
bars, when the window is not the active window.
|
|
|
|
By default this color is set to "default" for default bars, except for status
|
|
and title: the color is set to "darkgray".
|
|
|
|
If you upgrade from a previous release, the color will be "default" for all
|
|
bars, so if you want to use the new default settings, you can do:
|
|
|
|
----
|
|
/set weechat.bar.title.color_bg_inactive darkgray
|
|
/set weechat.bar.status.color_bg_inactive darkgray
|
|
----
|
|
|
|
If you changed the option "color_bg" in some bars, you should also adjust
|
|
the new option "color_bg_inactive", depending on your needs.
|
|
|
|
The function link:https://weechat.org/doc/weechat/plugin/#_bar_new[bar_new] in API is updated,
|
|
so this is an incompatible change: all plugins and scripts calling this function must be updated.
|
|
|
|
The following scripts are updated consequently to be compatible with all
|
|
WeeChat versions:
|
|
|
|
* https://weechat.org/scripts/source/buddylist.pl/[buddylist.pl] 2.0
|
|
* https://weechat.org/scripts/source/buffers.pl/[buffers.pl] 5.7
|
|
* https://weechat.org/scripts/source/chanmon.pl/[chanmon.pl] 2.6
|
|
* https://weechat.org/scripts/source/chanop.py/[chanop.py] 0.3.2
|
|
* https://weechat.org/scripts/source/highmon.pl/[highmon.pl] 2.7
|
|
* https://weechat.org/scripts/source/iset.pl/[iset.pl] 4.4
|
|
* https://weechat.org/scripts/source/menu.pl/[menu.pl] 1.0
|
|
* https://weechat.org/scripts/source/moc_control.py/[moc_control.py] 1.9
|
|
* https://weechat.org/scripts/source/newsbar.pl/[newsbar.pl] 0.19
|
|
* https://weechat.org/scripts/source/pv_info.pl/[pv_info.pl] 0.0.6
|
|
* https://weechat.org/scripts/source/rssagg.pl/[rssagg.pl] 1.2
|
|
* https://weechat.org/scripts/source/urlbar.py/[urlbar.py] 14
|
|
* https://weechat.org/scripts/source/urlselect.lua/[urlselect.lua] 0.5
|
|
* https://weechat.org/scripts/source/vimode.py/[vimode.py] 0.8
|
|
|
|
[[v2.9_modifier_weechat_print]]
|
|
=== New modifier_data for modifier "weechat_print"
|
|
|
|
The modifier "weechat_print" has been fixed and the content of "modifier_data"
|
|
sent to the callback has changed (see issue #42).
|
|
|
|
This is an incompatible change, therefore all plugins, scripts and triggers
|
|
using this modifier and the "modifier_data" argument must be updated.
|
|
|
|
The old format contained plugin name + ";" + buffer name + ";" + tags:
|
|
|
|
----
|
|
irc;libera.#weechat;tag1,tag2,tag3
|
|
----
|
|
|
|
The new format contains buffer pointer + ";" + tags:
|
|
|
|
----
|
|
0x123abc;tag1,tag2,tag3
|
|
----
|
|
|
|
The following scripts are updated consequently to be compatible with all
|
|
WeeChat versions:
|
|
|
|
* https://weechat.org/scripts/source/colorize_lines.pl/[colorize_lines.pl] 3.9
|
|
* https://weechat.org/scripts/source/colorize_nicks.py/[colorize_nicks.py] 27
|
|
* https://weechat.org/scripts/source/colorizer.rb/[colorizer.rb] 0.2
|
|
* https://weechat.org/scripts/source/curiousignore.pl/[curiousignore.pl] 0.4
|
|
* https://weechat.org/scripts/source/format_lines.pl/[format_lines.pl] 1.6
|
|
* https://weechat.org/scripts/source/identica.py/[identica.py] 0.4.3
|
|
* https://weechat.org/scripts/source/mass_hl_blocker.pl/[mass_hl_blocker.pl] 0.2
|
|
* https://weechat.org/scripts/source/noirccolors.py/[noirccolors.py] 0.4
|
|
* https://weechat.org/scripts/source/parse_relayed_msg.pl/[parse_relayed_msg.pl] 1.9.3
|
|
* https://weechat.org/scripts/source/unhighlight.py/[unhighlight.py] 0.1.3
|
|
* https://weechat.org/scripts/source/weemoticons.py/[weemoticons.py] 0.3
|
|
|
|
[[v2.9_api_completion_functions]]
|
|
=== Move of API completion functions
|
|
|
|
Completion functions have been added in WeeChat 2.9, to allow relay clients or
|
|
plugins/scripts to complete a string, without using the buffer input.
|
|
|
|
Therefore two functions have been renamed in API and moved to the new
|
|
"completion" category:
|
|
|
|
* hook_completion_get_string -> link:https://weechat.org/doc/weechat/plugin/#_completion_get_string[completion_get_string]
|
|
* hook_completion_list_add -> link:https://weechat.org/doc/weechat/plugin/#_completion_list_add[completion_list_add]
|
|
|
|
[NOTE]
|
|
The old names are still valid for compatibility reasons, but it is recommended
|
|
to use only the new names as the old ones may be removed in an upcoming release.
|
|
|
|
[[v2.9_gnutls_required_dependency]]
|
|
=== GnuTLS is now a required dependency
|
|
|
|
The build options `ENABLE_GNUTLS` (in CMake) and `--disable-gnutls` (in autotools)
|
|
have been removed. That means now GnuTLS is always compiled and used in WeeChat.
|
|
|
|
Motivations:
|
|
|
|
* communications encryption should be built-in, not optional
|
|
* GnuTLS library should be available everywhere
|
|
* reduce complexity of code and tests of builds.
|
|
|
|
[[v2.9_trigger_cmd_pass_remove_set_command]]
|
|
=== The trigger "cmd_pass" does not hide any more values of /set command
|
|
|
|
The default trigger "cmd_pass" does not hide any more values of options in `/set`
|
|
command which contain "password" in the name.
|
|
|
|
The reason is that it was masking values of options that contains the word
|
|
"password" but the value is not a password and does not contain sensitive data,
|
|
for example these options were affected:
|
|
|
|
* irc.look.nicks_hide_password
|
|
* relay.network.allow_empty_password
|
|
* relay.network.password_hash_algo
|
|
* relay.network.password_hash_iterations
|
|
|
|
Since all real password options are now evaluated, it is recommended to use
|
|
secure data to store the passwords ciphered in config file. +
|
|
By using secure data, the passwords are never displayed on screen (even with
|
|
`/set` command) nor written in log files.
|
|
|
|
For example you can do that:
|
|
|
|
----
|
|
/secure passphrase my_secret_passphrase
|
|
/secure set libera my_password
|
|
/set irc.server.libera.sasl_password "${sec.data.libera}"
|
|
----
|
|
|
|
This will be displayed like that in WeeChat, using the new regex value of
|
|
"cmd_pass" trigger:
|
|
|
|
----
|
|
/secure passphrase ********************
|
|
/secure set libera ***********
|
|
/set irc.server.libera.sasl_password "${sec.data.libera}"
|
|
----
|
|
|
|
If you want to use the new trigger regex after upgrade, you can do:
|
|
|
|
----
|
|
/trigger restore cmd_pass
|
|
----
|
|
|
|
If ever you prefer the old trigger regex, you can change it like that:
|
|
|
|
----
|
|
/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:+}}"
|
|
----
|
|
|
|
[[v2.9_trigger_command_eval]]
|
|
=== Evaluation of trigger command arguments
|
|
|
|
The arguments for a trigger command (except the command itself) are now evaluated.
|
|
|
|
That means you can use for example new lines in the command description, like that:
|
|
|
|
----
|
|
/trigger add test command "test;test command;arg1 arg2;arg1: description 1${\n}arg2: description 2"
|
|
----
|
|
|
|
The command `/help test` will display this help in WeeChat:
|
|
|
|
----
|
|
[trigger] /test arg1 arg2
|
|
|
|
test command
|
|
|
|
arg1: description 1
|
|
arg2: description 2
|
|
----
|
|
|
|
[[v2.9_relay_weechat_protocol_handshake_nonce]]
|
|
=== Add of handshake and nonce in weechat relay protocol
|
|
|
|
==== Handshake
|
|
|
|
A `handshake` command has been added in weechat relay protocol. +
|
|
The client should send this command before the `init` to negotiate the way to
|
|
authenticate with the relay server.
|
|
|
|
See the link:https://weechat.org/doc/weechat/relay/#command_handshake[handshake command]
|
|
in Relay protocol doc for more information.
|
|
|
|
==== Server "nonce"
|
|
|
|
Furthermore, a "nonce" is now generated for each client connecting and must be
|
|
used by the client in case of hashed password in the `init` command. +
|
|
The goal is to prevent replay attacks in case someone manages to read exchanges
|
|
between the client and relay.
|
|
|
|
When hashing the password, the client must use salt composed by this nonce
|
|
as binary (it is hexadecimal and must be base16-decoded), concatenated with
|
|
a client nonce after this one. +
|
|
So the hash is computed on: (`server nonce` + `client nonce` + `password`).
|
|
|
|
This salt is now mandatory even for algorithms `SHA256` and `SHA512`; this is
|
|
a breaking change in protocol, needed for security reasons.
|
|
|
|
See the link:https://weechat.org/doc/weechat/relay/#command_init[init command]
|
|
in Relay protocol doc for more information.
|
|
|
|
[[v2.8]]
|
|
== Version 2.8 (2020-03-29)
|
|
|
|
[[v2.8_auto_connection_to_servers]]
|
|
=== Auto connection to servers
|
|
|
|
The command line option `-a` (or `--no-connect`), which can also be used in the
|
|
`/plugin` command, is now used to set a new info called `auto_connect`
|
|
(see the function link:https://weechat.org/doc/weechat/plugin/#_info_get[info_get] in the Plugin API reference).
|
|
|
|
Therefore, the option is not sent any more to the function `weechat_plugin_init`
|
|
of plugins. +
|
|
The plugins using this option must now get the info `auto_connect` and check
|
|
if the value is "1" (a string with just `1`).
|
|
|
|
The purpose of this change is to allow scripts as well to check this info on
|
|
startup, and connect or not, depending on the value (see issue #1453).
|
|
|
|
To be compatible with WeeChat ≤ 2.7, the script can do this, for example
|
|
in Python:
|
|
|
|
[source,python]
|
|
----
|
|
auto_connect = weechat.info_get("auto_connect", "") != "0"
|
|
----
|
|
|
|
The variable `auto_connect` will be set like that, depending on the WeeChat
|
|
version:
|
|
|
|
* WeeChat ≤ 2.7: always `True` because the info is an empty string (it does not
|
|
exist), which is different from "0",
|
|
* WeeChat ≥ 2.8: `True` by default, and `False` if `-a` or `--no-connect` is
|
|
given by the user (either on command line or when loading the plugin).
|
|
|
|
[[v2.7.1]]
|
|
== Version 2.7.1 (2020-02-20)
|
|
|
|
No release notes.
|
|
|
|
[[v2.7]]
|
|
== Version 2.7 (2019-12-08)
|
|
|
|
[[v2.7_cmake_errors]]
|
|
=== CMake errors on missing dependencies
|
|
|
|
When compiling WeeChat with CMake (which is the recommended way), errors are
|
|
now displayed on any missing dependency, if the optional feature was enabled
|
|
(most features are automatically enabled, except documentation, man page and
|
|
tests).
|
|
|
|
Any error on a missing dependency is fatal, so WeeChat can not be compiled.
|
|
This is a new behavior compared to old versions, where any missing dependency
|
|
was silently ignored and the compilation was possible anyway.
|
|
|
|
For example if PHP is not installed on your system, CMake will display an error
|
|
on missing PHP library:
|
|
|
|
----
|
|
-- checking for one of the modules 'php7'
|
|
CMake Warning at cmake/FindPHP.cmake:57 (message):
|
|
Could not find libphp7. Ensure PHP >=7.0.0 development libraries are
|
|
installed and compiled with `--enable-embed`. Ensure `php-config` is in
|
|
`PATH`. You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing
|
|
libphp7.
|
|
Call Stack (most recent call first):
|
|
src/plugins/CMakeLists.txt:157 (find_package)
|
|
|
|
|
|
CMake Error at src/plugins/CMakeLists.txt:161 (message):
|
|
Php not found
|
|
----
|
|
|
|
Then you can either install PHP or explicitly disable PHP if you don't need this
|
|
plugin, using this cmake option:
|
|
|
|
----
|
|
cmake .. -DENABLE_PHP=OFF
|
|
----
|
|
|
|
[[v2.7_python3_callbacks_strings]]
|
|
=== Strings received in Python 3 callbacks
|
|
|
|
The strings sent to script callbacks in Python 3 are now automatically converted
|
|
according to the content:
|
|
|
|
* if the string is valid UTF-8, it is sent as `str` (legacy behavior)
|
|
* if the string is not valid UTF-8, it is sent as `bytes` (new).
|
|
|
|
In some cases only, the string may not be valid UTF-8, so it is received as
|
|
`bytes` in the callback, which must take care of that.
|
|
|
|
For more information, see the WeeChat scripting guide: chapter about strings
|
|
received in callbacks (see also issue #1389).
|
|
|
|
Note: there are no changes for Python 2 (which is now deprecated and should not
|
|
be used any more), the strings sent to callbacks are always of type `str`, and
|
|
may contain invalid UTF-8 data, in the cases mentioned in the WeeChat scripting
|
|
guide.
|
|
|
|
[[v2.7_irc_message_decoding]]
|
|
=== IRC message decoding/encoding
|
|
|
|
A new server option called "charset_message" has been added, replacing the
|
|
option irc.network.channel_encode.
|
|
|
|
This new server option has three possible values:
|
|
|
|
* _message_ (default): the whole IRC message is decoded/encoded, this is the
|
|
new default behavior; in case of problem with channel names, try to use
|
|
_text_ instead
|
|
* _channel_: the message is decoded/encoded starting at the channel name (or
|
|
the text if no channel is present); this is like setting the old option
|
|
irc.network.channel_encode to `on`
|
|
* _text_: the message is decoded/encoded starting from the text (for example
|
|
the user message); this is like setting the old option
|
|
irc.network.channel_encode to `off` (so this was the default behavior
|
|
in previous versions)
|
|
|
|
[[v2.7_xfer_file_receive_suffix]]
|
|
=== Suffix for files received via DCC
|
|
|
|
Files received via DCC (xfer plugin) now have a suffix ".part" during the
|
|
transfer. When the transfer is successful, the suffix is removed.
|
|
|
|
This suffix can be customized with the new option xfer.file.download_temporary_suffix.
|
|
|
|
If you prefer the legacy behavior (no suffix added), you can set an empty value
|
|
in the new option:
|
|
|
|
----
|
|
/set xfer.file.download_temporary_suffix ""
|
|
----
|
|
|
|
[[v2.6]]
|
|
== Version 2.6 (2019-09-08)
|
|
|
|
[[v2.6_python3_default]]
|
|
=== Python 3 by default
|
|
|
|
Python 3 is now used by default to compile the "python" plugin (no fallback
|
|
on Python 2).
|
|
|
|
The CMake option `ENABLE_PYTHON3` has been renamed to `ENABLE_PYTHON2`
|
|
(configure option `--enable-python2`). If this option is enabled, the "python"
|
|
plugin is built with Python 2 (no fallback on Python 3).
|
|
|
|
[[v2.6_nick_colors]]
|
|
=== Nick colors
|
|
|
|
The function to compute the colors based on the nick letters has been fixed
|
|
(now the function uses only a 64-bit integer even if the underlying architecture
|
|
is 32-bit).
|
|
|
|
If you're running WeeChat on a 32-bit architecture and want to keep same colors
|
|
as the previous releases, you can use one of the two new hash values.
|
|
|
|
If you were using "djb2", you can switch to "djb2_32":
|
|
|
|
----
|
|
/set weechat.look.nick_color_hash djb2_32
|
|
----
|
|
|
|
If you were using "sum", you can switch to "sum_32":
|
|
|
|
----
|
|
/set weechat.look.nick_color_hash sum_32
|
|
----
|
|
|
|
[[v2.5]]
|
|
== Version 2.5 (2019-06-06)
|
|
|
|
[[v2.5_aspell_plugin_renamed]]
|
|
=== Aspell plugin renamed to Spell
|
|
|
|
The "aspell" plugin has been renamed to "spell", a more generic term, because
|
|
it supports aspell and also enchant.
|
|
|
|
Consequently, the following things have been renamed as well:
|
|
|
|
* file aspell.conf -> spell.conf (the content of the file has not changed, so you can just rename the file to keep your changes)
|
|
* options aspell.* -> spell.*
|
|
* command `/aspell` -> `/spell`
|
|
* default key kbd:[Alt+s] -> `/mute spell toggle`
|
|
* bar item aspell_dict -> spell_dict
|
|
* bar item aspell_suggest -> spell_suggest
|
|
* info aspell_dict -> spell_dict
|
|
|
|
If you are upgrading from a previous release, you can copy the config file
|
|
before doing `/upgrade`, in WeeChat:
|
|
|
|
----
|
|
/save aspell
|
|
/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
|
|
/upgrade
|
|
----
|
|
|
|
If you already upgraded WeeChat:
|
|
|
|
----
|
|
/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
|
|
/reload spell
|
|
----
|
|
|
|
Once configuration is OK, you can delete the file `~/.weechat/aspell.conf`.
|
|
|
|
Then you can search if you are using "aspell" in values of options:
|
|
|
|
----
|
|
/fset =aspell
|
|
----
|
|
|
|
If there are options displayed, replace "aspell" by "spell" in values.
|
|
|
|
The default key kbd:[Alt+s] can be changed to the new `/spell` command:
|
|
|
|
----
|
|
/key bind meta-s /mute spell toggle
|
|
----
|
|
|
|
[[v2.5_xfer_option_speed_limit]]
|
|
=== Speed limit option for DCC files
|
|
|
|
The option xfer.network.speed_limit has been renamed to xfer.network.speed_limit_send.
|
|
|
|
If you changed the value of this option, you must set it again after upgrade.
|
|
|
|
A new option xfer.network.speed_limit_recv has been added to limit the
|
|
speed of received files.
|
|
|
|
[[v2.5_hook_info_allocated_string]]
|
|
=== Allocated string in hook info and function info_get
|
|
|
|
The hook info callback now returns an allocated string, which must be freed
|
|
after use (in previous versions, a pointer to a static string was returned).
|
|
|
|
Consequently, the function info_get returns an allocated string, which must
|
|
be freed after use.
|
|
|
|
This affects only C code, no changes are required in scripts.
|
|
|
|
[[v2.4]]
|
|
== Version 2.4 (2019-02-17)
|
|
|
|
[[v2.4_nick_completer]]
|
|
=== Nick completer
|
|
|
|
A space is not added automatically any more when you complete a nick at the
|
|
beginning of command line. +
|
|
Purpose of this change is to be more flexible: you can choose whether the space
|
|
is added or not (it was always added in previous releases).
|
|
|
|
The default value of option `weechat.completion.nick_completer` has been changed
|
|
to add the space by default, but the value of option is not changed automatically
|
|
on upgrade.
|
|
|
|
So you can run this command if you upgraded from an old version
|
|
and want the space still added automatically:
|
|
|
|
----
|
|
/set weechat.completion.nick_completer ": "
|
|
----
|
|
|
|
[[v2.4_api_base64_functions]]
|
|
=== Base64 API functions
|
|
|
|
The functions to encode/decode base64 strings have been renamed and now support
|
|
base 16, 32, and 64.
|
|
|
|
New functions in C API, supporting base 16, 32, and 64:
|
|
|
|
* link:https://weechat.org/doc/weechat/plugin/#_string_base_encode[string_base_encode]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_string_base_decode[string_base_decode]
|
|
|
|
Functions removed from C API:
|
|
|
|
* string_encode_base64
|
|
* string_decode_base64
|
|
|
|
[[v2.3]]
|
|
== Version 2.3 (2018-10-21)
|
|
|
|
No release notes.
|
|
|
|
[[v2.2]]
|
|
== Version 2.2 (2018-07-14)
|
|
|
|
[[v2.2_default_hotlist_conditions]]
|
|
=== Default conditions for hotlist
|
|
|
|
The default value for option `weechat.look.hotlist_add_conditions` has been
|
|
changed to take care about the number of connected clients on the relay
|
|
with weechat protocol: if at least one client is connected, the buffer is
|
|
always added to the hotlist.
|
|
|
|
The new value contains three conditions, if one of them is true, the buffer
|
|
is added to the hotlist:
|
|
|
|
* `${away}`: true if you are away on the server matching the buffer,
|
|
* `${buffer.num_displayed} == 0`: true if the buffer is not displayed in any
|
|
window
|
|
* `${info:relay_client_count,weechat,connected} > 0`: true if at least
|
|
one client is connected on a weechat relay (new condition).
|
|
|
|
To use the new default value, you can reset the option with this command:
|
|
|
|
----
|
|
/unset weechat.look.hotlist_add_conditions
|
|
----
|
|
|
|
Or set explicitly the value:
|
|
|
|
----
|
|
/set weechat.look.hotlist_add_conditions "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0"
|
|
----
|
|
|
|
[[v2.2_default_triggers]]
|
|
=== Default triggers
|
|
|
|
The existing triggers "cmd_pass" and "msg_auth" have been updated to hide
|
|
password in command `/msg nickserv set password` and support the option
|
|
`-server <name>`.
|
|
|
|
You can restore the default triggers with the following command:
|
|
|
|
----
|
|
/trigger restore cmd_pass msg_auth
|
|
----
|
|
|
|
[[v2.2_irc_signals_tags]]
|
|
=== Tags in IRC "in" signals
|
|
|
|
The IRCv3 tags are now sent in these IRC signals for received messages
|
|
(`xxx` is IRC server name, `yyy` is IRC command name):
|
|
|
|
* `xxx,irc_in_yyy`
|
|
* `xxx,irc_in2_yyy`
|
|
* `xxx,irc_raw_in_yyy`
|
|
* `xxx,irc_raw_in2_yyy`
|
|
|
|
This could break plugins or scripts that parse IRC messages and don't expect
|
|
to receive tags (even if tags *are* part of the IRC message, so this was a bug
|
|
in the IRC signals).
|
|
|
|
See issue #787 for more information.
|
|
|
|
[NOTE]
|
|
It is recommended for plugins and scripts to use the WeeChat IRC parser:
|
|
see the function link:https://weechat.org/doc/weechat/plugin/#_info_get_hashtable[info_get_hashtable]
|
|
in the Plugin API reference.
|
|
|
|
Now the whole IRC message is received by the signal callback, for example:
|
|
|
|
----
|
|
@tag1=abc;tag2=def :nick!user@host PRIVMSG #test :this is a test
|
|
----
|
|
|
|
In older releases, this message was received:
|
|
|
|
----
|
|
:nick!user@host PRIVMSG #test :this is a test
|
|
----
|
|
|
|
[[v2.2_debian_headless_package]]
|
|
=== New Debian package for headless version
|
|
|
|
A new Debian package has been added: "weechat-headless" which contains the
|
|
binary "weechat-headless" and its man page.
|
|
|
|
In version 2.1, this binary was in the package "weechat-curses".
|
|
|
|
[[v2.1]]
|
|
== Version 2.1 (2018-03-18)
|
|
|
|
[[v2.1_option_name_completion]]
|
|
=== Completion for /set and /help commands
|
|
|
|
A new option weechat.completion.partial_completion_templates has been added to
|
|
force partial completion on some templates. By default, the option name
|
|
completed in `/set` and `/help` commands are now using partial completion.
|
|
|
|
If you prefer old behavior, you can remove the templates from the new option
|
|
with this command:
|
|
|
|
----
|
|
/set weechat.completion.partial_completion_templates ""
|
|
----
|
|
|
|
For more information about this feature, you can read help with:
|
|
|
|
----
|
|
/help weechat.completion.partial_completion_templates
|
|
----
|
|
|
|
[[v2.1_script_plugin_check_license]]
|
|
=== Option to check license of scripts loaded
|
|
|
|
A configuration file has been added for each script plugin: python.conf,
|
|
perl.conf, ruby.conf, ...
|
|
|
|
Therefore the option to check license of loaded scripts has been moved from
|
|
plugins.var.<language>.check_license (type: string) to the plugin
|
|
configuration file (type: boolean, default is `off`).
|
|
|
|
List of options moved:
|
|
|
|
* plugins.var.python.check_license (string) -> python.look.check_license (boolean)
|
|
* plugins.var.perl.check_license (string) -> perl.look.check_license (boolean)
|
|
* plugins.var.ruby.check_license (string) -> ruby.look.check_license (boolean)
|
|
* plugins.var.lua.check_license (string) -> lua.look.check_license (boolean)
|
|
* plugins.var.tcl.check_license (string) -> tcl.look.check_license (boolean)
|
|
* plugins.var.guile.check_license (string) -> guile.look.check_license (boolean)
|
|
* plugins.var.javascript.check_license (string) -> javascript.look.check_license (boolean)
|
|
* plugins.var.php.check_license (string) -> php.look.check_license (boolean)
|
|
|
|
[[v2.0.1]]
|
|
== Version 2.0.1 (2017-12-20)
|
|
|
|
No release notes.
|
|
|
|
[[v2.0]]
|
|
== Version 2.0 (2017-12-03)
|
|
|
|
[[v2.0_fset_plugin]]
|
|
=== Fset plugin
|
|
|
|
A new plugin "fset" has been added, it replaces the script iset.pl and has many
|
|
new features.
|
|
|
|
By default the fset plugin changes the behavior of `/set` command when it is
|
|
used with only an option name: it opens the fset buffer if at least one option
|
|
is found.
|
|
|
|
The old behavior was to display the list of options in the core buffer.
|
|
|
|
If you prefer the old behavior, you can restore it with this command:
|
|
|
|
----
|
|
/set fset.look.condition_catch_set ""
|
|
----
|
|
|
|
For more information about this feature, you can read help with:
|
|
|
|
----
|
|
/help fset.look.condition_catch_set
|
|
----
|
|
|
|
[[v2.0_debian_packaging]]
|
|
=== Split of scripting Debian packages
|
|
|
|
The Debian packaging has changed (for now only on weechat.org repositories,
|
|
not in Debian official repositories). +
|
|
The package "weechat-plugins" has been split into 9 packages:
|
|
|
|
- weechat-plugins (with only the following plugins: aspell, exec, fifo, relay,
|
|
script, trigger)
|
|
- weechat-python
|
|
- weechat-perl
|
|
- weechat-ruby
|
|
- weechat-lua
|
|
- weechat-tcl
|
|
- weechat-guile
|
|
- weechat-javascript
|
|
- weechat-php.
|
|
|
|
If you are using the packages from weechat.org, you will have to install
|
|
manually the scripting packages (according to the languages you'll use
|
|
in WeeChat), for example Python/Perl only:
|
|
|
|
----
|
|
sudo apt-get install weechat-python weechat-perl
|
|
----
|
|
|
|
For development packages:
|
|
|
|
----
|
|
sudo apt-get install weechat-devel-python weechat-devel-perl
|
|
----
|
|
|
|
[[v2.0_buflist_eval]]
|
|
=== Evaluation in buflist
|
|
|
|
The evaluation of expressions in buflist options is not recursive any more,
|
|
to prevent too many evaluations, for example in buffer variables
|
|
(see issue #1060 for more information). +
|
|
If you are using custom variables/options containing evaluated expressions,
|
|
like `${some.config.option}`, and if this option contains evaluated strings (`${...}`),
|
|
you must evaluate them with: `${eval:${some.config.option}}`.
|
|
|
|
[NOTE]
|
|
The default buflist formats (`${format_buffer}`, `${format_name}`,
|
|
`${format_hotlist}`, ...) are automatically evaluated in options buflist.format.buffer,
|
|
buflist.format.buffer_current and buflist.format.hotlist.
|
|
|
|
[[v2.0_hook_connect]]
|
|
=== Function hook_connect
|
|
|
|
In scripts, the arguments "status", "gnutls_rc" and "sock" sent to the callback
|
|
of "hook_connect" are now integers (they were strings in older releases). +
|
|
To be compatible with all versions, it is recommended to convert the argument
|
|
to integer before using it, for example in Python: `int(sock)`.
|
|
|
|
[[v2.0_hook_fd]]
|
|
=== Function hook_fd
|
|
|
|
In scripts, the argument "fd" sent to the callback of "hook_fd" is now
|
|
an integer (it was a string in older releases). +
|
|
To be compatible with all versions, it is recommended to convert the argument
|
|
to integer before using it, for example in Python: `int(fd)`.
|
|
|
|
[[v1.9.1]]
|
|
== Version 1.9.1 (2017-09-23)
|
|
|
|
No release notes.
|
|
|
|
[[v1.9]]
|
|
== Version 1.9 (2017-06-25)
|
|
|
|
No release notes.
|
|
|
|
[[v1.8]]
|
|
== Version 1.8 (2017-05-13)
|
|
|
|
[[v1.8_buflist_plugin]]
|
|
=== Buflist plugin
|
|
|
|
A new plugin called "buflist" has been added, it replaces the script "buffers.pl".
|
|
|
|
If the script is installed, you will see two sidebars with list of buffers.
|
|
|
|
If you fell in love with buflist and that the script buffers.pl is installed,
|
|
you can uninstall the script and remove its bar with these commands:
|
|
|
|
----
|
|
/script remove buffers.pl
|
|
/bar del buffers
|
|
----
|
|
|
|
If you don't want the list of buffers, you can disable buflist:
|
|
|
|
----
|
|
/set buflist.look.enabled off
|
|
----
|
|
|
|
To save extra memory, you can even unload the buflist plugin, remove the bar and
|
|
prevent the plugin from loading on next startup:
|
|
|
|
----
|
|
/plugin unload buflist
|
|
/bar del buflist
|
|
/set weechat.plugin.autoload "*,!buflist"
|
|
----
|
|
|
|
[[v1.8_options]]
|
|
=== Options
|
|
|
|
The option script.scripts.url_force_https has been removed because now the
|
|
site weechat.org can only be used with HTTPS. +
|
|
Both HTTP and HTTPS protocols are allowed in the option script.scripts.url.
|
|
For http://weechat.org/ an automatic redirection to https://weechat.org/ will
|
|
occur, so you should check that the CA certificates are properly installed
|
|
on your machine.
|
|
|
|
Aspell option with color for suggestion on a misspelled word has been renamed:
|
|
|
|
* aspell.color.suggestions has been renamed to aspell.color.suggestion
|
|
|
|
[[v1.7.1]]
|
|
== Version 1.7.1 (2017-04-22)
|
|
|
|
No release notes.
|
|
|
|
[[v1.7]]
|
|
== Version 1.7 (2017-01-15)
|
|
|
|
[[v1.7_fifo_options]]
|
|
=== FIFO options
|
|
|
|
A new configuration file "fifo.conf" has been added and the old option
|
|
plugins.var.fifo.fifo has been moved to fifo.file.enabled.
|
|
|
|
A new option fifo.file.path can be used to customize the FIFO pipe
|
|
path/filename.
|
|
|
|
[[v1.7_default_triggers]]
|
|
=== Default triggers
|
|
|
|
A new trigger "cmd_pass_register" has been added to hide only password and not
|
|
email in command `/msg nickserv register password email`. +
|
|
The existing trigger "cmd_pass" has been updated to hide password in all
|
|
commands except `/msg nickserv register`.
|
|
|
|
You can add the new trigger and restore the other one with the following
|
|
command:
|
|
|
|
----
|
|
/trigger restore cmd_pass_register cmd_pass
|
|
----
|
|
|
|
[[v1.6]]
|
|
== Version 1.6 (2016-10-02)
|
|
|
|
[[v1.6_irc_server_default_msg]]
|
|
=== IRC kick/part/quit default messages
|
|
|
|
Server options with default messages for kick/part/quit have been renamed:
|
|
|
|
* options by default for all servers:
|
|
** irc.server_default.default_msg_kick -> irc.server_default.msg_kick
|
|
** irc.server_default.default_msg_part -> irc.server_default.msg_part
|
|
** irc.server_default.default_msg_quit -> irc.server_default.msg_quit
|
|
* options in each server:
|
|
** irc.server.xxx.default_msg_kick -> irc.server.xxx.msg_kick
|
|
** irc.server.xxx.default_msg_part -> irc.server.xxx.msg_part
|
|
** irc.server.xxx.default_msg_quit -> irc.server.xxx.msg_quit
|
|
|
|
If you changed the value of these options, you must set them again after upgrade.
|
|
|
|
[[v1.6_api_printf]]
|
|
=== Printf API functions
|
|
|
|
Some "printf" functions have been removed from C API (there were not in scripting API):
|
|
|
|
* printf_date
|
|
* printf_tags
|
|
|
|
The function "printf_date_tags" must now be used instead of these functions
|
|
(the two functions removed were just C macros on function "printf_date_tags"
|
|
with tags set to NULL for "printf_date" and date set to 0 for "printf_tags").
|
|
|
|
[[v1.5]]
|
|
== Version 1.5 (2016-05-01)
|
|
|
|
[[v1.5_nick_coloring]]
|
|
=== Nick coloring moved to core
|
|
|
|
The nick coloring feature has been moved from irc plugin to core.
|
|
|
|
Two options have been moved from irc plugin (irc.conf) to core (weechat.conf),
|
|
and you must set new value if you customized them:
|
|
|
|
* irc.look.nick_color_force -> weechat.look.nick_color_force
|
|
* irc.look.nick_color_hash -> weechat.look.nick_color_hash
|
|
* irc.look.nick_color_stop_chars -> weechat.look.nick_color_stop_chars
|
|
|
|
The default value for option weechat.look.nick_color_hash is now `djb2`
|
|
instead of `sum`.
|
|
|
|
The following info names (used by API function "info_get") are renamed as well:
|
|
|
|
* irc_nick_color -> nick_color
|
|
* irc_nick_color_name -> nick_color_name
|
|
|
|
[NOTE]
|
|
The old info irc_nick_color and irc_nick_color_name are kept for
|
|
compatibility (especially scripts) and will be removed in an upcoming release.
|
|
|
|
[[v1.5_callbacks_pointer]]
|
|
=== Pointer in callbacks
|
|
|
|
A pointer has been added in all callbacks used by scripts, so the callbacks
|
|
will receive an extra `const void *pointer` before the `void *data`
|
|
(in the C API only, not scripting API).
|
|
|
|
This is used to remove linked list of callbacks in scrips (improve speed,
|
|
reduce memory usage).
|
|
|
|
Following functions are changed in the C API:
|
|
|
|
* link:https://weechat.org/doc/weechat/plugin/#_exec_on_files[exec_on_files]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_config_new[config_new]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_config_new_section[config_new_section]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_config_new_option[config_new_option]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_command[hook_command]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_command_run[hook_command_run]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_timer[hook_timer]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_fd[hook_fd]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_process[hook_process]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_process_hashtable[hook_process_hashtable]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_connect[hook_connect]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_print[hook_print]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_signal[hook_signal]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_hsignal[hook_hsignal]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_config[hook_config]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_completion[hook_completion]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_modifier[hook_modifier]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_info[hook_info]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_info_hashtable[hook_info_hashtable]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_infolist[hook_infolist]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_hdata[hook_hdata]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_hook_focus[hook_focus]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_unhook_all[unhook_all]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_buffer_new[buffer_new]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_bar_item_new[bar_item_new]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_upgrade_new[upgrade_new]
|
|
* link:https://weechat.org/doc/weechat/plugin/#_upgrade_read[upgrade_read]
|
|
|
|
The function `unhook_all` has a new argument `const char *subplugin` to remove
|
|
only hooks created by this "subplugin" (script).
|
|
|
|
[[v1.5_bar_item_away]]
|
|
=== Bar item "away"
|
|
|
|
The bar item "away" has been moved from irc plugin to core (so that away status
|
|
can be displayed for any plugin, using the buffer local variable "away").
|
|
|
|
Two options have been moved from irc plugin (irc.conf) to core (weechat.conf):
|
|
|
|
* irc.look.item_away_message -> weechat.look.item_away_message
|
|
* irc.color.item_away -> weechat.color.item_away
|
|
|
|
[[v1.5_default_triggers]]
|
|
=== Default triggers
|
|
|
|
The default triggers "cmd_pass" and "msg_auth" have been updated to include
|
|
nickserv commands "recover" and "regain".
|
|
|
|
You can restore them with the following command:
|
|
|
|
----
|
|
/trigger restore cmd_pass msg_auth
|
|
----
|
|
|
|
[[v1.4]]
|
|
== Version 1.4 (2016-01-10)
|
|
|
|
[[v1.4_irc_alternate_nicks]]
|
|
=== IRC alternate nicks
|
|
|
|
The option irc.network.alternate_nick has been moved into servers
|
|
(irc.server_default.nicks_alternate and irc.server.xxx.nicks_alternate).
|
|
|
|
If you disabled this option, you must switch it off again, globally or by
|
|
server.
|
|
|
|
Globally (default value for all servers):
|
|
|
|
----
|
|
/set irc.server_default.nicks_alternate off
|
|
----
|
|
|
|
For a specific server:
|
|
|
|
----
|
|
/set irc.server.libera.nicks_alternate off
|
|
----
|
|
|
|
[[v1.3]]
|
|
== Version 1.3 (2015-08-16)
|
|
|
|
[[v1.3_irc_channels_encoding]]
|
|
=== IRC channels encoding
|
|
|
|
If you are using exotic charsets in your channel names (anything different from
|
|
UTF-8, like ISO charset), you should turn on a new option:
|
|
|
|
----
|
|
/set irc.network.channel_encode on
|
|
----
|
|
|
|
This will force WeeChat to decode/encode the channel name
|
|
(like WeeChat 1.2 or older did).
|
|
|
|
See these issues for more information: issue #482, issue #218.
|
|
|
|
[NOTE]
|
|
It is *highly recommended* to use only UTF-8 in WeeChat (wherever you can),
|
|
because everything is stored as UTF-8 internally.
|
|
|
|
[[v1.3_alias_command]]
|
|
=== Alias command
|
|
|
|
The command `/alias` has been updated to list, add and remove aliases.
|
|
Therefore the command `/unalias` has been removed.
|
|
|
|
To add an alias, the argument `add` must be used in command `/alias` before the
|
|
name, for example:
|
|
|
|
----
|
|
/alias add split /window splith
|
|
----
|
|
|
|
And the alias is removed with this command:
|
|
|
|
----
|
|
/alias del split
|
|
----
|
|
|
|
[[v1.3_script_path]]
|
|
=== Script path
|
|
|
|
The option script.scripts.dir has been renamed to script.scripts.path
|
|
(and the content is now evaluated, see `/help eval`).
|
|
|
|
If you changed the value of this option, you must set it again after upgrade.
|
|
|
|
[[v1.2]]
|
|
== Version 1.2 (2015-05-10)
|
|
|
|
The word chars are now customizable with two options:
|
|
|
|
* weechat.look.word_chars_highlight
|
|
* weechat.look.word_chars_input
|
|
|
|
The behavior has changed for command line: now any non-word char is used as
|
|
delimiter for keys to move to previous/next word or delete previous/next word.
|
|
|
|
You can restore the old behavior (only use spaces as delimiters) with this
|
|
command:
|
|
|
|
----
|
|
/set weechat.look.word_chars_input "!\u00A0,!\x20,*"
|
|
----
|
|
|
|
[[v1.1.1]]
|
|
== Version 1.1.1 (2015-01-25)
|
|
|
|
No release notes.
|
|
|
|
[[v1.1]]
|
|
== Version 1.1 (2015-01-11)
|
|
|
|
[[v1.1_triggers_regex_format]]
|
|
=== New format for regex replacement in triggers
|
|
|
|
A new format is used in regex replacement to use regex groups, this format
|
|
is incompatible with version 1.0.
|
|
|
|
The existing triggers are *NOT automatically updated*.
|
|
|
|
[width="60%",cols="2,2,3",options="header"]
|
|
|===
|
|
| Old format | New format | Examples (new format)
|
|
| `$0` ... `$99` | `${re:0}` ... `${re:99}` | `${re:1}`
|
|
| `$+` | `${re:+}` | `${re:+}`
|
|
| `$.*N` | `${hide:*,${re:N}}` | `${hide:*,${re:2}}` +
|
|
`${hide:-,${re:+}}`
|
|
|===
|
|
|
|
Moreover, default triggers used to hide passwords have been fixed for *BSD
|
|
operating systems.
|
|
|
|
You can restore them with the following command:
|
|
|
|
----
|
|
/trigger restore cmd_pass msg_auth server_pass
|
|
----
|
|
|
|
If you added triggers with the old regex replacement format, you must update
|
|
them manually.
|
|
|
|
[[v1.1_trigger_beep]]
|
|
=== Default "beep" trigger
|
|
|
|
The command of "beep" trigger is now executed only if the message is displayed
|
|
(not filtered with `/filter`).
|
|
|
|
You can restore the default "beep" trigger with the following command:
|
|
|
|
----
|
|
/trigger restore beep
|
|
----
|
|
|
|
[[v1.1_commands_return_code]]
|
|
=== Return code of commands
|
|
|
|
The API function link:https://weechat.org/doc/weechat/plugin/#_command[command]
|
|
now sends the value returned return by command callback.
|
|
|
|
WeeChat does not display any more an error when a command returns
|
|
`WEECHAT_RC_ERROR`. Consequently, all plugins/scripts should display an
|
|
explicit error message before returning `WEECHAT_RC_ERROR`.
|
|
|
|
For C plugins, two macros have been added in weechat-plugin.h:
|
|
`WEECHAT_COMMAND_MIN_ARGS` and `WEECHAT_COMMAND_ERROR`.
|
|
|
|
[[v1.1_inline_commands_completion]]
|
|
=== Completion of inline commands
|
|
|
|
WeeChat now completes by default inline commands (not only at beginning of
|
|
line).
|
|
|
|
When this feature is enabled, there is no more automatic completion of
|
|
absolute paths (except if you are completing a path inside a command argument,
|
|
like `/dcc send <nick> <path>`).
|
|
|
|
To restore the old behavior (no completion of inline commands):
|
|
|
|
----
|
|
/set weechat.completion.command_inline off
|
|
----
|
|
|
|
[[v1.1_relay_irc_backlog_tags]]
|
|
=== Relay option relay.irc.backlog_tags
|
|
|
|
The option relay.irc.backlog_tags is now a list separated by commas
|
|
(it was separated by semicolons in older versions).
|
|
|
|
If you are using a list of tags in this option, you must adjust the value
|
|
manually.
|
|
|
|
[[v1.1_relay_ipv6_ipv4]]
|
|
=== IPv4-mapped IPv6 client address in relay
|
|
|
|
The string "::ffff:" has been removed from IPv4-mapped IPv6 client address
|
|
in relay plugin.
|
|
|
|
If you are using "::ffff:" in option relay.network.allowed_ips, you can
|
|
remove it.
|
|
|
|
[[v1.1_irc_temporary_servers]]
|
|
=== Temporary servers disabled by default with /connect
|
|
|
|
Creating a temporary server with command `+/connect <address>+` or
|
|
`+/connect irc://...+` is now forbidden by default.
|
|
|
|
A new option has been added to unlock the feature, you can do that for
|
|
the old behavior in command `/connect`:
|
|
|
|
----
|
|
/set irc.look.temporary_servers on
|
|
----
|
|
|
|
[[v1.1_timeval_microseconds]]
|
|
=== Microseconds in API timeval functions
|
|
|
|
The API functions using timeval are now using or returning microseconds,
|
|
instead of milliseconds:
|
|
|
|
* function link:https://weechat.org/doc/weechat/plugin/#_util_timeval_diff[util_timeval_diff]:
|
|
returns microseconds
|
|
* function link:https://weechat.org/doc/weechat/plugin/#_util_timeval_add[util_timeval_add]:
|
|
the argument "interval" is now expressed in microseconds.
|
|
|
|
[[v1.0.1]]
|
|
== Version 1.0.1 (2014-09-28)
|
|
|
|
No release notes.
|
|
|
|
[[v1.0]]
|
|
== Version 1.0 (2014-08-15)
|
|
|
|
[[v1.0_irc_channel_type]]
|
|
=== Channel type not added by default on /join
|
|
|
|
The channel type is not any more automatically added to a channel name on join
|
|
(for example `/join weechat` will not send `/join #weechat`).
|
|
|
|
If you are lazy and want to automatically add the channel type, you can turn on
|
|
the new option:
|
|
|
|
----
|
|
/set irc.look.join_auto_add_chantype on
|
|
----
|
|
|
|
[[v1.0_irc_channel_modes_arguments]]
|
|
=== Hide IRC channel modes arguments
|
|
|
|
The option irc.look.item_channel_modes_hide_key has been renamed to
|
|
irc.look.item_channel_modes_hide_args and is now a string. +
|
|
It can now hide arguments for multiple channel modes.
|
|
|
|
By default, a channel key (mode "k") will hide channel arguments. For old
|
|
behavior (never hide arguments, even with a channel key), you can do:
|
|
|
|
----
|
|
/set irc.look.item_channel_modes_hide_args ""
|
|
----
|
|
|
|
[[v1.0_jump_first_last_buffer]]
|
|
=== Jump to first/last buffer
|
|
|
|
The command `/input jump_last_buffer` has been replaced by `/buffer +`.
|
|
You can rebind the key kbd:[Alt+j], kbd:[Alt+l] (`L`):
|
|
|
|
----
|
|
/key bind meta-jmeta-l /buffer +
|
|
----
|
|
|
|
[NOTE]
|
|
The command `/input jump_last_buffer` still works for compatibility reasons,
|
|
but it should not be used any more.
|
|
|
|
Similarly, a new key has been added to jump to first buffer: kbd:[Alt+j], kbd:[Alt+f].
|
|
You can add it with the following command:
|
|
|
|
----
|
|
/key missing
|
|
----
|
|
|
|
[[v1.0_hotlist_conditions]]
|
|
=== Hotlist conditions
|
|
|
|
A new option weechat.look.hotlist_add_conditions has been added. This option
|
|
replaces the option weechat.look.hotlist_add_buffer_if_away, which has been
|
|
removed.
|
|
|
|
Default conditions are `${away} || ${buffer.num_displayed} == 0`, which means
|
|
that a buffer is added in hotlist if you are away ("away" local variable is
|
|
set), or if the buffer is not visible on screen (not displayed in any window).
|
|
|
|
If you have set weechat.look.hotlist_add_buffer_if_away to `off` (to not add
|
|
current buffer in hotlist when you are away), then you must manually change the
|
|
default conditions with the following command:
|
|
|
|
----
|
|
/set weechat.look.hotlist_add_conditions "${buffer.num_displayed} == 0"
|
|
----
|
|
|
|
[[v1.0_trigger_plugin]]
|
|
=== Rmodifier replaced by Trigger plugin
|
|
|
|
The trigger plugin replaces the rmodifier plugin, which has been removed
|
|
(and trigger has much more features than rmodifier).
|
|
|
|
Default triggers have same features as default rmodifiers (to hide passwords
|
|
in commands and output).
|
|
|
|
If you added some custom rmodifiers, you must create similar triggers, see
|
|
`/help trigger` and the complete trigger doc in the _WeeChat User's guide_.
|
|
|
|
[NOTE]
|
|
If on startup you have an error about API mismatch in plugin "rmodifier.so",
|
|
you can manually remove the file (the command `make install` does not remove
|
|
obsolete plugins).
|
|
|
|
[[v1.0_bare_display]]
|
|
=== Bare display
|
|
|
|
A bare display mode has been added (for easy text selection and click on URLs),
|
|
the new default key is kbd:[Alt+l] (`L`).
|
|
|
|
Use command `/key missing` to add the key or `/key listdiff` to see differences
|
|
between your current keys and WeeChat default keys.
|
|
|
|
[[v1.0_hook_print]]
|
|
=== Function hook_print
|
|
|
|
In scripts, the arguments "displayed" and "highlight" sent to the callback of
|
|
"hook_print" are now integers (they were strings in older releases).
|
|
|
|
To be compatible with all versions, it is recommended to convert the argument
|
|
to integer before testing it, for example in Python:
|
|
|
|
[source,python]
|
|
----
|
|
if int(highlight):
|
|
# ...
|
|
----
|
|
|
|
[[v0.4.3]]
|
|
== Version 0.4.3 (2014-02-09)
|
|
|
|
[[v0.4.3_colors_messages]]
|
|
=== Colors in messages
|
|
|
|
The color code for "reverse video" in IRC message has been fixed: now WeeChat
|
|
uses 0x16 like other clients (and not 0x12 any more). +
|
|
The code 0x12 is not decoded any more, so if it is received (for example from
|
|
an old WeeChat version), it is not displayed as reverse video.
|
|
|
|
The color code for "underlined text" in input line has been fixed: now WeeChat
|
|
uses 0x1F, the same code sent to IRC server.
|
|
|
|
The default keys for "reverse video" and "underlined text" have changed:
|
|
|
|
* reverse video: key kbd:[Ctrl+c], kbd:[r] is replaced by kbd:[Ctrl+c], kbd:[v]
|
|
* underlined text: key kbd:[Ctrl+c], kbd:[u] is replaced by kbd:[Ctrl+c], kbd:[_]
|
|
|
|
You can remove the old keys and add the new ones with these commands:
|
|
|
|
----
|
|
/key unbind ctrl-Cr
|
|
/key unbind ctrl-Cu
|
|
/key missing
|
|
----
|
|
|
|
[[v0.4.3_terminal_title]]
|
|
=== Terminal title
|
|
|
|
The boolean option weechat.look.set_title has been renamed to
|
|
weechat.look.window_title and is now a string.
|
|
|
|
The content is evaluated and the default value is `WeeChat ${info:version}`.
|
|
|
|
[NOTE]
|
|
Only static content should be used in this option, because the title is
|
|
refreshed only when the option is changed.
|
|
|
|
[[v0.4.3_bar_item_buffer_last_number]]
|
|
=== New bar item buffer_last_number
|
|
|
|
The bar item "buffer_count" now displays the number of opened buffers (each
|
|
merged buffer counts 1).
|
|
|
|
The new bar item "buffer_last_number" displays the highest buffer number
|
|
currently used.
|
|
|
|
If you want to display last number in the status bar, replace "buffer_count"
|
|
by "buffer_last_number" in your option weechat.bar.status.items.
|
|
|
|
[[v0.4.3_bar_item_buffer_zoom]]
|
|
=== New bar item buffer_zoom
|
|
|
|
A new bar item has been added: "buffer_zoom".
|
|
The default value for status bar items becomes:
|
|
|
|
----
|
|
/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"
|
|
----
|
|
|
|
[[v0.4.3_irc_messages_channel_join]]
|
|
=== IRC messages on channel join
|
|
|
|
The names are not displayed any more by default on channel join (they are in
|
|
nicklist anyway).
|
|
|
|
Names can be displayed with the value "353" in option
|
|
irc.look.display_join_message (which is not in default value). +
|
|
The value "366" shows only names count on channel.
|
|
|
|
If you want to display all messages on join (including names), you can do:
|
|
|
|
----
|
|
/set irc.look.display_join_message "329,332,333,353,366"
|
|
----
|
|
|
|
[[v0.4.3_irc_maximum_lag]]
|
|
=== Maximum lag in IRC
|
|
|
|
Option irc.network.lag_max has been added.
|
|
|
|
The value of option irc.network.lag_reconnect (if set to non-zero value) must
|
|
be less than or equal to irc.network.lag_max, otherwise the reconnection will
|
|
never occur.
|
|
|
|
You should check the value of both options and fix them if needed.
|
|
|
|
[[v0.4.2]]
|
|
== Version 0.4.2 (2013-10-06)
|
|
|
|
[[v0.4.2_day_change_message]]
|
|
=== Day change message
|
|
|
|
The day change message is now dynamically displayed, and therefore is not stored
|
|
as a line in buffer any more.
|
|
|
|
Option weechat.look.day_change_time_format has been split into two options
|
|
weechat.look.day_change_message_{1date|2dates} (color codes are allowed in
|
|
these options, see `/help eval`).
|
|
|
|
New color option weechat.color.chat_day_change has been added.
|
|
|
|
After `/upgrade` from an old version, you will see two messages for each day
|
|
change. This is a normal behavior and will not happen again with the next day
|
|
changes.
|
|
|
|
[[v0.4.2_buffer_regex_search]]
|
|
=== Regex search in buffer
|
|
|
|
Search with regular expression has been added, and therefore some keys in search
|
|
context have been changed.
|
|
|
|
The key kbd:[Ctrl+r] in search context is now used to switch string/regex search
|
|
(instead of searching exact text).
|
|
|
|
If you never changed keys in search context, you can reset them all with one
|
|
command:
|
|
|
|
----
|
|
/key resetall -yes search
|
|
----
|
|
|
|
Or the manual method:
|
|
|
|
----
|
|
/key missing search
|
|
/key bindctxt search ctrl-R /input search_switch_regex
|
|
----
|
|
|
|
To view keys in search context:
|
|
|
|
----
|
|
/key list search
|
|
----
|
|
|
|
For more information, see the chapter about keys in the _WeeChat User's guide_.
|
|
|
|
[[v0.4.2_rmodifier]]
|
|
=== New rmodifier
|
|
|
|
A new rmodifier "secure" has been added to hide passphrase and passwords
|
|
displayed by command `/secure`. Use command `/rmodifier missing` to add it.
|
|
|
|
[[v0.4.2_color_codes_options]]
|
|
=== Color codes in options
|
|
|
|
The format for color codes in some options has changed. The options are
|
|
evaluated with the function "string_eval_expression", which uses the format
|
|
`${color:xxx}`.
|
|
|
|
Following options are affected:
|
|
|
|
* weechat.look.buffer_time_format
|
|
* weechat.look.prefix_action
|
|
* weechat.look.prefix_error
|
|
* weechat.look.prefix_join
|
|
* weechat.look.prefix_network
|
|
* weechat.look.prefix_quit
|
|
|
|
The options using old format `${xxx}` must be changed with new format
|
|
`${color:xxx}` (where xxx is a color name or number, with optional color
|
|
attributes).
|
|
|
|
Example:
|
|
|
|
----
|
|
/set weechat.look.buffer_time_format "${color:251}%H${color:243}%M${color:238}%S"
|
|
----
|
|
|
|
[[v0.4.2_binary_man_page]]
|
|
=== Binary and man page
|
|
|
|
WeeChat binary and man page have been renamed from `weechat-curses` to
|
|
`weechat`.
|
|
|
|
A symbolic link has been added for binary: `weechat-curses` -> `weechat`
|
|
(so that the `/upgrade` from a old version will still work).
|
|
|
|
If you upgrade from an old version, it is recommended to force the use of the
|
|
new binary name with the command: `/upgrade /path/to/weechat` (replace the path
|
|
accordingly).
|
|
|
|
[NOTE]
|
|
For packagers: you should create the link `weechat-curses` -> `weechat` if it's
|
|
not automatically created in the package (both CMake and configure are creating
|
|
this link on make install).
|
|
|
|
[[v0.4.2_man_page_documentation]]
|
|
=== Man page / documentation
|
|
|
|
Documentation is not built by default any more, you have to use option
|
|
`-DENABLE_DOC=ON` in cmake command to enable it.
|
|
|
|
The man page is now built with asciidoc and translated in several
|
|
languages. A new CMake option `ENABLE_MAN` has been added to compile man page
|
|
(`OFF` by default).
|
|
|
|
[[v0.4.2_aspell_colors]]
|
|
=== Aspell colors
|
|
|
|
Option aspell.look.color has been renamed to aspell.color.misspelled.
|
|
|
|
If you changed the value of this option, you must set it again after upgrade.
|
|
|
|
[[v0.4.1]]
|
|
== Version 0.4.1 (2013-05-20)
|
|
|
|
[[v0.4.1_relay_nicklist_diff]]
|
|
=== Nicklist diff in relay
|
|
|
|
A new message with identifier "_nicklist_diff" has been added in relay (WeeChat
|
|
protocol). WeeChat may decide to send full nicklist or this nicklist diff at
|
|
any time (depending on size of message, the smaller is sent).
|
|
|
|
Clients using nicklist must implement it.
|
|
|
|
For more info about content of message, see document _WeeChat Relay Protocol_.
|
|
|
|
[[v0.4.1_dynamic_nick_prefix_suffix]]
|
|
=== Dynamic nick prefix/suffix
|
|
|
|
The nick prefix/suffix (for example: "<" and ">") are now dynamic and used on
|
|
display (not stored any more in the line).
|
|
|
|
Options moved from irc plugin (irc.conf) to core (weechat.conf):
|
|
|
|
* irc.look.nick_prefix -> weechat.look.nick_prefix
|
|
* irc.look.nick_suffix -> weechat.look.nick_suffix
|
|
* irc.color.nick_prefix -> weechat.color.chat_nick_prefix
|
|
* irc.color.nick_suffix -> weechat.color.chat_nick_suffix
|
|
|
|
Types and default values for these four options remain unchanged.
|
|
|
|
Two new options to customize the truncature char (by default "`+`"):
|
|
|
|
* weechat.look.prefix_align_more_after (boolean, `on` by default)
|
|
* weechat.look.prefix_buffer_align_more_after (boolean, `on` by default)
|
|
|
|
When these options are enabled (default), the "`+`" is displayed after the
|
|
text, replacing the space that should be displayed there. +
|
|
When turned off, the "`+`" will replace last char of text.
|
|
|
|
Example for a nicks "FlashCode" and "fc" with different values for options
|
|
weechat.look.prefix_align_max, weechat.look.prefix_align_more_after,
|
|
weechat.look.nick_prefix and weechat.look.nick_suffix:
|
|
|
|
----
|
|
# align_max, more_after, prefix/suffix
|
|
|
|
FlashCode │ test # 0, on
|
|
fc │ test
|
|
|
|
FlashCod+│ test # 8, on
|
|
fc │ test
|
|
|
|
FlashCo+ │ test # 8, off
|
|
fc │ test
|
|
|
|
<FlashCode> │ test # 0, on, < >
|
|
<fc> │ test
|
|
|
|
<FlashC>+│ test # 8, on, < >
|
|
<fc> │ test
|
|
|
|
<Flash+> │ test # 8, off, < >
|
|
<fc> │ test
|
|
----
|
|
|
|
After `/upgrade`, if you set new options to non-empty strings, and if old
|
|
options were set to non-empty strings too, you will see double prefix/suffix
|
|
on old messages, this is normal behavior (lines displayed before `/upgrade`
|
|
have prefix/suffix saved in prefix, but new lines don't have them any more).
|
|
|
|
New options in logger plugin (logger.conf):
|
|
|
|
* logger.file.nick_prefix: prefix for nicks in log files (default: empty string)
|
|
* logger.file.nick_suffix: suffix for nicks in log files (default: empty string)
|
|
|
|
[[v0.4.1_irc_reconnection_lag]]
|
|
=== IRC reconnection on important lag
|
|
|
|
Option irc.network.lag_disconnect has been renamed to irc.network.lag_reconnect
|
|
and value is now a number of seconds (instead of minutes).
|
|
|
|
If you changed the value of this option, you must set it again after upgrade.
|
|
|
|
[[v0.4.1_irc_passwords_hidden]]
|
|
=== IRC passwords hidden
|
|
|
|
IRC plugin is now using modifiers "irc_command_auth" and "irc_message_auth" to
|
|
hide passwords.
|
|
|
|
The option irc.look.hide_nickserv_pwd has been removed, and a new option
|
|
irc.look.nicks_hide_password has been added (by default passwords are hidden
|
|
only for "nickserv").
|
|
|
|
A new rmodifier "message_auth" has been added to hide passwords displayed by
|
|
command `/msg nickserv identify|register|ghost|release` and the rmodifier
|
|
"nickserv" has been renamed to "command_auth".
|
|
|
|
If you never added/changed rmodifiers, you can just reset all rmodifiers:
|
|
|
|
----
|
|
/rmodifier default -yes
|
|
----
|
|
|
|
If you added/changed some rmodifiers, do it manually with these commands:
|
|
|
|
----
|
|
/rmodifier del nickserv
|
|
/rmodifier add command_auth history_add,input_text_display,irc_command_auth 1,4* ^(/(msg|quote) +nickserv +(id|identify|register|ghost \S+|release \S+) +)(.*)
|
|
/rmodifier add message_auth irc_message_auth 1,3* ^(.*(id|identify|register|ghost \S+|release \S+) +)(.*)
|
|
----
|
|
|
|
[[v0.4.1_lua_constants]]
|
|
=== Lua constants
|
|
|
|
For consistency with other supported languages, the API constants in Lua have
|
|
been redefined as constants instead of functions.
|
|
|
|
Therefore, the use of a constant must be changed: the parentheses must be
|
|
removed.
|
|
|
|
The old syntax was:
|
|
|
|
[source,lua]
|
|
----
|
|
return weechat.WEECHAT_RC_OK()
|
|
----
|
|
|
|
The new syntax is:
|
|
|
|
[source,lua]
|
|
----
|
|
return weechat.WEECHAT_RC_OK
|
|
----
|
|
|
|
[[v0.4.1_guile_callbacks]]
|
|
=== Guile callbacks
|
|
|
|
The way to give arguments for guile callbacks has been fixed: now arguments are
|
|
sent individually (instead of a list with all arguments inside).
|
|
|
|
Therefore, existing guile scripts must be modified accordingly. Moreover,
|
|
WeeChat now requires Guile ≥ 2.0 to compile.
|
|
|
|
[[v0.4.0]]
|
|
== Version 0.4.0 (2013-01-20)
|
|
|
|
[[v0.4.0_bars_conditions]]
|
|
=== Conditions in bars
|
|
|
|
Conditions in bars have changed, and now an expression is evaluated.
|
|
|
|
If you have a value with many conditions in a bar, like: `nicklist,active`, you
|
|
must now use an expression like: `${nicklist} && ${active}` (see the chapter
|
|
about bars in the _WeeChat User's guide_).
|
|
|
|
[[v0.4.0_ipv6_default]]
|
|
=== IPv6 by default
|
|
|
|
==== IRC
|
|
|
|
IPv6 is now used by default to connect to IRC servers, with fallback to
|
|
IPv4. The option irc.server_default.ipv6 is now `on` by default. If IPv6 is
|
|
not enabled or fails, IPv4 will be used. The "ipv6" option in server is now
|
|
used to disable IPv6 and force IPv4 (if option is turned off).
|
|
|
|
==== Relay
|
|
|
|
Relay plugin is now listening by default on an IPv6 socket (new option
|
|
relay.network.ipv6, `on` by default), so connections with IPv4 will have
|
|
IPv4-mapped IPv6 addresses, like: "::ffff:127.0.0.1" (for "127.0.0.1"); check
|
|
that value of option relay.network.allowed_ips supports this mapping, or
|
|
disable IPv6 in relay if you don't plan to use it at all:
|
|
|
|
----
|
|
/set relay.network.ipv6 off
|
|
----
|
|
|
|
[[v0.3.9.2]]
|
|
== Version 0.3.9.2 (2012-11-18)
|
|
|
|
This version fixes a security vulnerability when a plugin/script gives
|
|
untrusted command to API function link:https://weechat.org/doc/weechat/plugin/#_hook_process[hook_process].
|
|
|
|
[[v0.3.9.1]]
|
|
== Version 0.3.9.1 (2012-11-09)
|
|
|
|
This version fixes crash when decoding IRC colors in strings.
|
|
|
|
[[v0.3.9]]
|
|
== Version 0.3.9 (2012-09-29)
|
|
|
|
[[v0.3.9_options_moved]]
|
|
=== Options moved
|
|
|
|
Options moved from core (weechat.conf) to irc plugin (irc.conf):
|
|
|
|
* weechat.look.nickmode -> irc.look.nick_mode (new type: integer with values: none/prefix/action/both)
|
|
* weechat.look.nickmode_empty -> irc.look.nick_mode_empty
|
|
|
|
[[v0.3.9_bar_item_buffer_modes]]
|
|
=== New bar item buffer_modes
|
|
|
|
A new bar item has been added: "buffer_modes" and irc option irc.look.item_channel_modes
|
|
has been removed; to display irc channel modes in status bar (after channel name),
|
|
you have to manually add the new item "buffer_modes" (this is now used by default
|
|
in status bar items), default value for status bar items becomes:
|
|
|
|
----
|
|
/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"
|
|
----
|
|
|
|
[[v0.3.9_command_aspell]]
|
|
=== Command /aspell
|
|
|
|
New options in command `/aspell`:
|
|
|
|
* `enable`: enable aspell
|
|
* `disable`: disable aspell
|
|
* `toggle`: toggle aspell (new default key: kbd:[Alt+s])
|
|
|
|
Options renamed in command `/aspell`:
|
|
|
|
* `enable` -> `setdict` (set dictionary for current buffer)
|
|
* `disable` -> `deldict` (delete dictionary used on current buffer)
|
|
* `dictlist` -> `listdict` (show installed dictionaries)
|
|
|
|
[[v0.3.9_horizontal_separator]]
|
|
=== Horizontal separator
|
|
|
|
An horizontal separator has been added between split windows, and two options
|
|
have been added to toggle separators (both are enabled by default):
|
|
|
|
* weechat.look.window_separator_horizontal
|
|
* weechat.look.window_separator_vertical
|
|
|
|
[[v0.3.9_new_keys]]
|
|
=== New keys
|
|
|
|
New keys were added, use command `/key missing` to add them or `/key listdiff`
|
|
to see differences between your current keys and WeeChat default keys.
|
|
|
|
[[v0.3.8]]
|
|
== Version 0.3.8 (2012-06-03)
|
|
|
|
[[v0.3.8_options]]
|
|
=== Options
|
|
|
|
Options weechat.look.prefix_align_more and weechat.look.prefix_buffer_align_more
|
|
have been converted from type boolean to string:
|
|
|
|
* If the value was `on` (default), new value is "+" and you can now customize
|
|
this char.
|
|
* If the value was `off`, you have to set " " (string with one space).
|
|
|
|
[[v0.3.8_paste_detection]]
|
|
=== Paste detection
|
|
|
|
Option weechat.look.paste_max_lines can now be used with value 0 to detect
|
|
paste with one line (only if terminal "bracketed paste mode" is enabled when
|
|
option weechat.look.paste_bracketed is `on`); so now the value -1 is used to
|
|
disable paste detection: if your value was 0, you should set it to -1:
|
|
|
|
----
|
|
/set weechat.look.paste_max_lines -1
|
|
----
|
|
|
|
[[v0.3.8_rmodifier]]
|
|
=== Rmodifier
|
|
|
|
Rmodifier "nickserv" has a new default regex which includes option "release"
|
|
for command `/msg nickserv`.
|
|
|
|
If you never added/changed rmodifiers, you can just reset all rmodifiers:
|
|
|
|
----
|
|
/rmodifier default -yes
|
|
----
|
|
|
|
If you added/changed some rmodifiers, do it manually with these commands:
|
|
|
|
----
|
|
/rmodifier del nickserv
|
|
/rmodifier add nickserv history_add,input_text_display 1,4* ^(/(msg|quote) +nickserv +(id|identify|ghost \S+|release \S+) +)(.*)
|
|
----
|
|
|
|
[[v0.3.7]]
|
|
== Version 0.3.7 (2012-02-26)
|
|
|
|
[[v0.3.7_options]]
|
|
=== Options
|
|
|
|
Option `scroll_unread` has been moved from command `/input` to `/window`,
|
|
therefore default command of key kbd:[Alt+u] has been updated. To bind key with
|
|
new default value:
|
|
|
|
----
|
|
/key bind meta-u /window scroll_unread
|
|
----
|
|
|
|
Option weechat.history.max_lines has been renamed to weechat.history.max_buffer_lines_number.
|
|
|
|
If you changed the value of this option, you must set it again after upgrade.
|
|
|
|
Option weechat.plugin.extension now supports list of extensions, and new
|
|
default value is ".so,.dll" (with this value, weechat.conf is compatible with
|
|
Cygwin).
|
|
|
|
[[v0.3.7_extended_regex]]
|
|
=== Extended regex
|
|
|
|
Extended regex is used in filters and irc ignore, so some chars that needed
|
|
escape in past do not need any more (for example `[0-9]\+` becomes `[0-9]+`),
|
|
filters and ignore have to be manually fixed.
|
|
|
|
Option weechat.look.highlight_regex becomes case insensitive by default, to
|
|
make it case sensitive, use "(?-i)" at beginning of string, for example:
|
|
"(?-i)FlashCode|flashy".
|
|
|
|
[[v0.3.6]]
|
|
== Version 0.3.6 (2011-10-22)
|
|
|
|
[[v0.3.6_options]]
|
|
=== Options
|
|
|
|
Option weechat.look.hline_char has been renamed to weechat.look.separator_horizontal.
|
|
|
|
If you changed the value of this option, you must set it again after upgrade.
|
|
|
|
[[v0.3.6_colors_bold]]
|
|
=== Bold in colors
|
|
|
|
Bold is not used any more for basic colors (used only if terminal has less than
|
|
16 colors), a new option has been added to force bold if needed:
|
|
weechat.look.color_basic_force_bold.
|
|
|
|
[[v0.3.5]]
|
|
== Version 0.3.5 (2011-05-15)
|
|
|
|
[[v0.3.5_colors]]
|
|
=== Colors
|
|
|
|
If you have some colors defined in section "palette" with version 0.3.4, you
|
|
should remove all colors defined, and add new aliases (it's not needed any more
|
|
to add colors before using them).
|
|
|
|
Colors for nick prefixes (char for op, voice, ..) are defined in a single
|
|
option irc.color.nick_prefixes, therefore following options will be lost:
|
|
irc.color.nick_prefix_op, irc.color.nick_prefix_halfop,
|
|
irc.color.nick_prefix_voice, irc.color.nick_prefix_user .
|
|
|
|
[[v0.3.5_hotlist]]
|
|
=== Hotlist
|
|
|
|
[[v0.3.5_hotlist_counters]]
|
|
==== Counters
|
|
|
|
Count of messages have been added to hotlist by default, if you want to come
|
|
back to old behavior, do that:
|
|
|
|
----
|
|
/set weechat.look.hotlist_count_max 0
|
|
/set weechat.look.hotlist_buffer_separator ","
|
|
----
|
|
|
|
[[v0.3.5_hotlist_away_current_buffer]]
|
|
==== Away and current buffer
|
|
|
|
When you are away, all buffers are now added to hotlist by default (even if
|
|
they are displayed in a window), if you want to come back to old behavior, do
|
|
that:
|
|
|
|
----
|
|
/set weechat.look.hotlist_add_buffer_if_away off
|
|
----
|
|
|
|
[[v0.3.5_new_keys]]
|
|
=== New keys
|
|
|
|
New keys were added, use command `/key missing` to add them or `/key listdiff`
|
|
to see differences between your current keys and WeeChat default keys.
|
|
|
|
[[v0.3.4]]
|
|
== Version 0.3.4 (2011-01-16)
|
|
|
|
[[v0.3.4_after_upgrade]]
|
|
=== After /upgrade
|
|
|
|
If you are using `/upgrade` from a previous release:
|
|
|
|
* Some nick prefixes can be wrong, so it is recommended to do `/allchan names`.
|
|
* Nick colors are defined with a new option weechat.color.chat_nick_colors ,
|
|
therefore old options weechat.color.chat_nick_color1..10 will be lost when
|
|
upgrading.
|
|
* Nick colors in messages displayed will be wrong if you changed some nick
|
|
colors (old default colors will be used).
|
|
|
|
[[v0.3.4_options]]
|
|
=== Options
|
|
|
|
Some IRC options have been renamed, before upgrading to this version, note
|
|
value for old options, and set them again with new name:
|
|
|
|
* options moved from "network" section to servers (with global value, and
|
|
server value, like other server options):
|
|
** irc.network.connection_timeout -> irc.server_default.connection_timeout
|
|
** irc.network.anti_flood_prio_high -> irc.server_default.anti_flood_prio_high
|
|
** irc.network.anti_flood_prio_low -> irc.server_default.anti_flood_prio_low
|
|
** irc.network.away_check -> irc.server_default.away_check
|
|
** irc.network.away_check_max_nicks -> irc.server_default.away_check_max_nicks
|
|
** irc.network.default_msg_part -> irc.server_default.default_msg_part
|
|
** irc.network.default_msg_quit -> irc.server_default.default_msg_quit
|
|
* other IRC options renamed:
|
|
** irc.look.open_channel_near_server -> irc.look.new_channel_position
|
|
(old option was boolean, new is integer with value as string)
|
|
** irc.look.open_pv_near_server -> irc.look.new_pv_position
|
|
(old option was boolean, new is integer with value as string)
|
|
|
|
[[v0.3.3]]
|
|
== Version 0.3.3 (2010-08-07)
|
|
|
|
[[v0.3.3_after_upgrade]]
|
|
=== After /upgrade
|
|
|
|
If you are using `/upgrade` from a previous release, then you must reconnect to
|
|
IRC servers in order to use new command `/wallchops`.
|
|
|
|
[[v0.3.3_options]]
|
|
=== Options
|
|
|
|
Option irc.look.show_away_once has been renamed to irc.look.display_pv_away_once.
|
|
|
|
Option irc.network.lag_min_show is now in milliseconds, you should set new
|
|
value: your current value multiplied by 1000 (new default value is `500`).
|
|
|
|
[[v0.3.2]]
|
|
== Version 0.3.2 (2010-04-18)
|
|
|
|
[[v0.3.2_after_upgrade]]
|
|
=== After /upgrade
|
|
|
|
If you are using `/upgrade` from a previous release, then you must execute this
|
|
command on all IRC servers/channels/private buffers and xfer DCC chats (not
|
|
needed on WeeChat core buffer or buffers from other plugins/scripts):
|
|
|
|
----
|
|
/buffer set highlight_words $nick
|
|
----
|
|
|
|
[[v0.3.1.1]]
|
|
== Version 0.3.1.1 (2010-01-31)
|
|
|
|
This version fixes crashes with SSL connection and purge of old DCC chats.
|
|
|
|
All users of version 0.3.1 should upgrade to this version.
|
|
|
|
[[v0.3.1]]
|
|
== Version 0.3.1 (2010-01-23)
|
|
|
|
[[v0.3.1_aliases]]
|
|
=== Aliases
|
|
|
|
IRC commands `/ame` and `/amsg` are now aliases, if you are upgrading from version
|
|
0.3.0, you must create aliases with the following commands:
|
|
|
|
----
|
|
/alias aaway allserv /away
|
|
/alias ame allchan /me
|
|
/alias amsg allchan /amsg *
|
|
/alias anick allserv /nick
|
|
----
|
|
|
|
[[v0.3.0]]
|
|
== Version 0.3.0 (2009-09-06)
|
|
|
|
This version brings *MAJOR* changes, especially for configuration files and
|
|
plugin API and is not compatible with previous versions.
|
|
|
|
Major differences:
|
|
|
|
* It is *NOT POSSIBLE* to use command `/upgrade` from a version 0.2.x to 0.3.x;
|
|
you have to quit your old WeeChat, then run new version.
|
|
* New configuration files (`*.conf`) are not compatible with old files
|
|
(`*.rc`).
|
|
* Name of options is similar to old versions, but there is now one
|
|
configuration file by plugin, and one file for WeeChat core; there is
|
|
*no automatic conversion* for your old options to new configuration files,
|
|
so you'll have to setup again your IRC servers and all other options.
|
|
* Plugin API has been rewritten and is not compatible with previous versions;
|
|
accordingly, scripts and plugins must have been designed for version 0.3.x to
|
|
be loaded into WeeChat.
|
|
|
|
[[v0.2.6.3]]
|
|
== Version 0.2.6.3 (2009-06-13)
|
|
|
|
This version fixes gnutls detection.
|
|
|
|
[[v0.2.6.2]]
|
|
== Version 0.2.6.2 (2009-04-18)
|
|
|
|
This version fixes a bug with charset decoding (like "iso2022jp").
|
|
|
|
[[v0.2.6.1]]
|
|
== Version 0.2.6.1 (2009-03-14)
|
|
|
|
This version fixes a major bug: crash with some special chars in IRC messages.
|
|
|
|
[[v0.2.6]]
|
|
== Version 0.2.6 (2007-09-06)
|
|
|
|
No release notes.
|
|
|
|
[[v0.2.5]]
|
|
== Version 0.2.5 (2007-06-07)
|
|
|
|
No release notes.
|
|
|
|
[[v0.2.4]]
|
|
== Version 0.2.4 (2007-03-29)
|
|
|
|
No release notes.
|
|
|
|
[[v0.2.3]]
|
|
== Version 0.2.3 (2007-01-10)
|
|
|
|
This version fixes several major bugs of version 0.2.2.
|
|
|
|
All users of version 0.2.2 should upgrade to this version.
|
|
|
|
[[v0.2.2]]
|
|
== Version 0.2.2 (2007-01-06)
|
|
|
|
[[v0.2.2_charset_plugin]]
|
|
=== Charset plugin
|
|
|
|
For users of any previous version, all your charset settings in weechat.rc will
|
|
be LOST! You should save your weechat.rc to keep your values and set them again
|
|
with new _charset_ plugin.
|
|
|
|
For ISO users: history of channels may be without accents (after `/upgrade`),
|
|
this is not recoverable, but this is not a bug. All new messages should be OK.
|
|
|
|
Be careful, now default encode is UTF-8 for all channels (before it was
|
|
terminal charset). If you still want to send messages as "ISO-8859-1", you
|
|
should set either global encode or server specific encode to `ISO-8859-1`.
|
|
|
|
For global encode:
|
|
|
|
----
|
|
/setp charset.global.encode = "ISO-8859-1"
|
|
----
|
|
|
|
For server encode (on server buffer):
|
|
|
|
----
|
|
/charset encode ISO-8859-1
|
|
----
|
|
|
|
[[v0.2.2_new_keys]]
|
|
=== New keys
|
|
|
|
New keys for topic scroll: kbd:[F9]/kbd:[F10].
|
|
|
|
Key kbd:[F10] was used for `infobar_clear` in previous WeeChat versions, you
|
|
have to manually rebind this key (except for new WeeChat users):
|
|
|
|
----
|
|
/key <press alt+"k" then F10> scroll_topic_right
|
|
----
|
|
|
|
Which gives something like:
|
|
|
|
----
|
|
/key meta2-21~ scroll_topic_right
|
|
----
|
|
|
|
[[v0.2.1]]
|
|
== Version 0.2.1 (2006-10-01)
|
|
|
|
No release notes.
|
|
|
|
[[v0.2.0]]
|
|
== Version 0.2.0 (2006-08-19)
|
|
|
|
[[v0.2.0_after_upgrade]]
|
|
=== After /upgrade
|
|
|
|
If you upgraded with `/upgrade` in WeeChat, you should `/disconnect` and then
|
|
`/reconnect` on each server, to display properly channel/user modes.
|
|
|
|
[[v0.2.0_plugins]]
|
|
=== Plugins
|
|
|
|
If you're using plugins, you should remove some old plugins libraries in
|
|
WeeChat system library directory (commonly `/usr/local/lib/weechat/plugins`):
|
|
remove `lib*` files (like `libperl.*`, `libpython.*`, ..) and keep only new
|
|
libraries (`perl.*`, `python.*`, ..).
|
|
|
|
[[v0.1.9]]
|
|
== Version 0.1.9 (2006-05-25)
|
|
|
|
[[v0.1.9_dcc_chat]]
|
|
=== DCC chat
|
|
|
|
Please close all DCC chat buffers before using `/upgrade` command, otherwise you
|
|
may experience problems with DCC chats.
|
|
|
|
[[v0.1.9_script_api]]
|
|
=== Script API
|
|
|
|
Some changes in script API: now timer handlers functions takes exactly 0 (zero)
|
|
argument (in version 0.1.8, two arguments were mandatory but not used: server
|
|
and arguments).
|
|
|
|
[[v0.1.8]]
|
|
== Version 0.1.8 (2006-03-18)
|
|
|
|
[[v0.1.8_after_upgrade]]
|
|
=== After /upgrade
|
|
|
|
After installing 0.1.8 (or with `/upgrade`), issue both commands (if you didn't
|
|
redefine these keys (kbd:[Alt+Home] / kbd:[Alt+End]):
|
|
|
|
----
|
|
/key unbind meta-meta2-1~
|
|
/key unbind meta-meta2-4~
|
|
----
|
|
|
|
Then launch again WeeChat (or issue `/upgrade`).
|
|
|
|
[[v0.1.8_configuration_files]]
|
|
=== Configuration files
|
|
|
|
It is recommended for users of version 0.1.7 (or any older), to replace values
|
|
in setup file (_~/.weechat/weechat.rc_):
|
|
|
|
* option: log_path: replace `~/.weechat/logs` by `%h/logs`
|
|
* option: plugins_path: replace `~/.weechat/plugins` by `%h/plugins`
|
|
|
|
The string `%h` is replaced by WeeChat home (default: `~/.weechat`, may be
|
|
overridden by new command line argument `--dir`).
|
|
|
|
[[v0.1.8_keys]]
|
|
=== Keys
|
|
|
|
Keys kbd:[Alt+Home] / kbd:[Alt+End] were used for nicklist scroll, they're now
|
|
replaced by kbd:[Alt+F11] / kbd:[Alt+F12].
|
|
|
|
[[v0.1.7]]
|
|
== Version 0.1.7 (2006-01-14)
|
|
|
|
[[v0.1.7_ruby]]
|
|
=== Ruby
|
|
|
|
Ruby script plugin has been added but is experimental in this release. You're
|
|
warned!
|
|
|
|
[[v0.1.7_command_away]]
|
|
=== Command /away
|
|
|
|
Command `/away` was changed to be RFC 2812 compliant. Now argument is required
|
|
to set away, and no argument means remove away ("back").
|
|
|
|
Option irc_default_msg_away has been removed.
|
|
|
|
[[v0.1.6]]
|
|
== Version 0.1.6 (2005-11-11)
|
|
|
|
[[v0.1.6_script_api]]
|
|
=== Script API
|
|
|
|
Incompatibility with some old scripts: now all handlers have to return a code
|
|
for completion, and to do some actions about message to ignore (please look at
|
|
documentation for detail).
|
|
|
|
[[v0.1.6_openbsd]]
|
|
=== OpenBSD
|
|
|
|
On OpenBSD, the new option plugins_extension should be set to `.so.0.0` since
|
|
the plugins names are ending by `.so.0.0` and not `.so`.
|
|
|
|
[[v0.1.6_utf8]]
|
|
=== UTF-8
|
|
|
|
With new and full UTF-8 support, the option look_charset_internal should be
|
|
set to blank for most cases. Forces it only if your locale is not properly
|
|
detected by WeeChat (you can set `UTF-8` or `ISO-8859-15` for example,
|
|
depending on your locale). WeeChat is looking for "UTF-8" in your locale name
|
|
at startup.
|
|
|
|
[[v0.1.5]]
|
|
== Version 0.1.5 (2005-09-24)
|
|
|
|
No release notes.
|
|
|
|
[[v0.1.4]]
|
|
== Version 0.1.4 (2005-07-30)
|
|
|
|
No release notes.
|
|
|
|
[[v0.1.3]]
|
|
== Version 0.1.3 (2005-07-02)
|
|
|
|
No release notes.
|
|
|
|
[[v0.1.2]]
|
|
== Version 0.1.2 (2005-05-21)
|
|
|
|
No release notes.
|
|
|
|
[[v0.1.1]]
|
|
== Version 0.1.1 (2005-03-20)
|
|
|
|
No release notes.
|
|
|
|
[[v0.1.0]]
|
|
== Version 0.1.0 (2005-02-12)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.9]]
|
|
== Version 0.0.9 (2005-01-01)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.8]]
|
|
== Version 0.0.8 (2004-10-30)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.7]]
|
|
== Version 0.0.7 (2004-08-08)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.6]]
|
|
== Version 0.0.6 (2004-06-05)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.5]]
|
|
== Version 0.0.5 (2004-02-07)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.4]]
|
|
== Version 0.0.4 (2004-01-01)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.3]]
|
|
== Version 0.0.3 (2003-11-03)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.2]]
|
|
== Version 0.0.2 (2003-10-05)
|
|
|
|
No release notes.
|
|
|
|
[[v0.0.1]]
|
|
== Version 0.0.1 (2003-09-27)
|
|
|
|
No release notes.
|