WeeChat dev news - coreWeeChat development blog2024-01-22T17:53:19+01:00urn:md5:edd364dae4d94114a2ba146603903683DotclearVersion 4.2.1urn:md5:41fee0aced41c325cb443848c6a980fe2024-01-22T18:52:00+01:002024-01-22T18:53:19+01:00Sébastien Helleucorerelease <p>Version <strong>4.2.1</strong> is are available, see new bugs fixed in the <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.2.1.html" hreflang="en" title="ChangeLog v4.2.1">ChangeLog v4.2.1</a>.</p>Version 4.2.0urn:md5:2c0af9b79c2d0fc7d72d549d9455e64c2024-01-21T10:45:00+01:002024-01-21T10:46:26+01:00Sébastien Helleucorerelease <p>Version <strong>4.2.0</strong> is available, see new features and bugs fixed in the <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.2.0.html" hreflang="en" title="ChangeLog">ChangeLog</a> and important notes if you upgrade to this version from any older version in the <a href="https://weechat.org/files/doc/weechat/ReleaseNotes-4.2.0.html" hreflang="en" title="Release notes">Release notes</a>.</p>Versions 4.0.8 and 4.1.3urn:md5:3535041947e2cb35c0d010432c8e405a2024-01-20T11:36:00+01:002024-01-20T11:37:56+01:00Sébastien Helleucorerelease <p>Versions <strong>4.0.8</strong> and <strong>4.1.3</strong> are available, see new bugs fixed in the <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.0.8.html" hreflang="en" title="ChangeLog v4.0.8">ChangeLog v4.0.8</a> and <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.1.3.html" hreflang="en" title="ChangeLog v4.1.3">ChangeLog v4.1.3</a>.</p>Versions 4.0.7 and 4.1.2urn:md5:e536de163afaca24e251f93b159411982023-12-03T20:16:00+01:002023-12-03T20:17:42+01:00Sébastien Helleucorerelease <p>Versions <strong>4.0.7</strong> and <strong>4.1.2</strong> are available, see new bugs fixed in the <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.0.7.html" hreflang="en" title="ChangeLog v4.0.7">ChangeLog v4.0.7</a> and <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.1.2.html" hreflang="en" title="ChangeLog v4.1.2">ChangeLog v4.1.2</a>.</p>Versions 4.0.6 and 4.1.1urn:md5:4327143c4a6121f1f7e1d4d91d9b18362023-10-26T22:10:00+02:002023-10-26T21:12:39+02:00Sébastien Helleucorerelease <p>Versions <strong>4.0.6</strong> and <strong>4.1.1</strong> are available, see new bugs fixed in the <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.0.6.html" hreflang="en" title="ChangeLog v4.0.6">ChangeLog v4.0.6</a> and <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.1.1.html" hreflang="en" title="ChangeLog v4.1.1">ChangeLog v4.1.1</a>.</p>Version 4.1.0urn:md5:a3e2317c85dc24b757057531b28fdcae2023-10-15T09:22:00+02:002023-10-15T08:24:26+02:00Sébastien Helleucorerelease <p>Version <strong>4.1.0</strong> is available, see new features and bugs fixed in the <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.1.0.html" hreflang="en" title="ChangeLog">ChangeLog</a> and important notes if you upgrade to this version from any older version in the <a href="https://weechat.org/files/doc/weechat/ReleaseNotes-4.1.0.html" hreflang="en" title="Release notes">Release notes</a>.</p>Version 4.0.5urn:md5:5c03d82a86eb2fa8fdeeedbb3a505e652023-09-24T09:54:00+02:002023-09-24T08:56:39+02:00Sébastien Helleucorerelease <p>Version <strong>4.0.5</strong> is available, see new features and bugs fixed in the <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.0.5.html" hreflang="en" title="ChangeLog">ChangeLog</a>.</p>Version 4.0.4urn:md5:73f9d7808e603e45151d0e7c48ff0b062023-08-22T11:50:00+02:002023-08-22T10:55:24+02:00Sébastien Helleucorerelease <p>Version <strong>4.0.4</strong> is available, it fixes the following bugs:</p>
<ul>
<li>fix integer overflow when setting integer option with <code>++N</code> or <code>--N</code></li>
<li>fix increment/decrement of options <code>weechat.notify.*</code></li>
<li>add missing tags on multiline IRC messages</li>
<li>fix redirection of IRC command <code>/list</code> when the reply doesn't start with message 321 (start of /list)</li>
<li>fix wrong time displayed for IRC CTCP messages received from self nick</li>
<li>remove trailing empty line in display of backlog (logger plugin)</li>
<li>fix display of non-ASCII chars after load of a script with Perl >= 5.38</li>
<li>adjust scroll after command <code>/script go N</code></li>
<li>fix function string_parse_size on 32-bit systems (python and ruby)</li>
<li>fix conversion of string to IPv4 on 32-bit systems in xfer plugin</li>
<li>fix tests on function irc_join_compare_join_channel</li>
<li>fix tests of functions print_date_tag, print_y_date_tags and hook_timer on 32-bit systems</li>
</ul>Version 4.0.3urn:md5:e6268105fb3f6e1a9887429c9f34394d2023-08-08T22:15:00+02:002023-08-08T21:18:16+02:00Sébastien Helleucorerelease <p>Version <strong>4.0.3</strong> is available, it fixes the following bugs:</p>
<ul>
<li>fix input length and crash after delete of line</li>
<li>fix display of self IRC CTCP message containing bold attribute</li>
<li>fix memory leak in IRC message parser</li>
<li>fix switch to IRC channel manually joined when server option autojoin_dynamic is on and option irc.look.buffer_switch_autojoin is off</li>
<li>fix display of outgoing IRC notice with channel when capability "echo-message" is enabled</li>
<li>fix display of IRC CTCP messages received from relay client</li>
<li>display a warning in build of docs if a locale is missing with fallback to English for auto-generated content</li>
</ul>Version 4.0.2urn:md5:e5d53f7c96b197b39d0ffb43901a7ee02023-07-12T20:54:00+02:002023-07-12T20:54:00+02:00Sébastien Helleucorerelease <p>Version <strong>4.0.2</strong> is available, it fixes the following bugs:</p>
<ul>
<li>fix renaming of options with command <code>/item rename</code></li>
<li>don't send "key_pressed" signal again for the same key press</li>
<li>don't send "key_combo_*" signals for incomplete keys</li>
<li>add key ctrl-backspace in /help key</li>
<li>keep keys ctrl-H and ctrl-? (in lower case) if they were manually bound to custom commands in a previous version</li>
</ul>Version 4.0.1urn:md5:1e1068b45a95bd4e0fdc8a30967547d92023-06-30T21:25:00+02:002023-07-12T16:21:08+02:00Sébastien Helleucorerelease <p>Version <strong>4.0.1</strong> is available, it fixes the following bugs:</p>
<ul>
<li>force key "return" to command "/input return" when migrating legacy keys</li>
<li>display actual key name and command with Alt+k, remove key Alt+K (grab raw key) and associated commands <code>/input grab_raw_key</code> and <code>/input grab_raw_key_command</code></li>
<li>check for newline characters in string_is_whitespace_char</li>
<li>do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin</li>
<li>fix crash on quit with Guile < 3</li>
<li>reply to a IRC CTCP request sent to self nick</li>
<li>sent "QUIT" message to IRC servers connected with TLS on <code>/upgrade</code></li>
</ul>Happy birthday WeeChat, 20 years!urn:md5:ca46e7d29ac85e27eacbacdf5303132d2023-06-26T07:54:00+02:002023-06-26T07:00:52+02:00Sébastien Helleucorebirthday <p>Happy birthday WeeChat, <strong>20</strong> years old!</p>
<p>I wrote the very first line of code on June 26th, 2003, and released the first version 0.0.1 on September, 27th 2003.</p>
<p>The 86th release was made 2 days ago: <a href="https://blog.weechat.org/post/2023/06/24/Version-4.0.0">4.0.0</a></p>
<p>I would like to thank all contributors for the help with translations, patches and ideas of features.<br />
All contributions and donations are <strong>much appreciated</strong>! ♥</p>Version 4.0.0urn:md5:d5c6485093ee5d9342bedbbdfb1c8d1c2023-06-24T22:52:00+02:002023-06-24T21:53:19+02:00Sébastien Helleucorerelease <p>Version <strong>4.0.0</strong> is available!</p>
<p>WeeChat now follows a practical <a href="https://github.com/weechat/weechat/blob/master/Contributing.adoc#semantic-versioning" hreflang="en" title="semantic versioning">semantic versioning</a> and there are breaking changes in this release, please read carefully the <a href="https://weechat.org/files/doc/weechat/ReleaseNotes-4.0.0.html" hreflang="en">release notes</a>.</p>
<p>See <a href="https://weechat.org/files/doc/weechat/ChangeLog-4.0.0.html" hreflang="en">ChangeLog</a> for the complete list of new features and bug fixes.</p>
<p>New major features in this release:</p>
<ul>
<li>use human readable key bindings</li>
<li>use 256 colors by default</li>
<li>make many identifiers case sensitive, rename default aliases to lower case</li>
<li>display similar command names when a command is unknown</li>
<li>add item "mouse_status" in default status bar</li>
<li>rename SSL options to TLS, connect by default with TLS to IRC servers</li>
<li>improve multiline support, add multiline support in IRC and Relay plugins</li>
<li>add support of new IRC capabilities: draft/multiline, batch, echo-message (in Relay plugin as well)</li>
<li>add support of LINELEN and UTF8ONLY in IRC plugin</li>
<li>add IRC commands <code>/action</code>, <code>/rules</code>, <code>/knock</code></li>
<li>display IRC STATUSMSG actions differently from standard actions on channels</li>
<li>add option "join" in command <code>/autojoin</code></li>
<li>add server option "registered_mode", add fields "authentication_method" and "sasl_mechanism_used" in server</li>
<li>add "${username}" in server options "nicks" and "username", change their default values to use it</li>
<li>add infos "irc_server_cap" and "irc_server_cap_value"</li>
<li>add option irc.look.display_host_notice</li>
<li>add modifier "irc_cap_sync_req"</li>
<li>add relative move of read marker with <code>/buffer set unread +/-N</code></li>
<li>add command <code>/reset</code></li>
<li>add option "rename" in command <code>/bar</code></li>
<li>add option "split_return" in command <code>/input</code></li>
<li>add option "missing" in command <code>/alias</code></li>
<li>add <code>$&</code> to replace all arguments with double quotes escaped in aliases</li>
<li>add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled, remove options trigger.color.trigger and trigger.color.trigger_disabled</li>
<li>improve display of color options in fset buffer, add options fset.color.color_name and fset.color.color_name_selected</li>
<li>add option logger.file.log_conditions</li>
<li>add info "logger_log_file"</li>
<li>add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" in relay irc protocol</li>
<li>add handshake option "escape_commands" in relay weechat protocol</li>
<li>add API function config_set_version</li>
<li>many bugs fixed.</li>
</ul>
<p>Removed in this release:</p>
<ul>
<li>build with autotools (CMake now required)</li>
<li>RPM packaging</li>
<li>cpack config</li>
</ul>
<p>New commands:</p>
<ul>
<li><code>/action</code></li>
<li><code>/knock</code></li>
<li><code>/reset</code></li>
<li><code>/rules</code></li>
</ul>
<p>New options:</p>
<ul>
<li>fset.color.color_name</li>
<li>fset.color.color_name_selected</li>
<li>irc.look.display_host_notice</li>
<li>irc.server_default.registered_mode</li>
<li>logger.file.log_conditions</li>
<li>weechat.look.input_multiline_lead_linebreak</li>
<li>weechat.color.chat_status_enabled</li>
<li>weechat.color.chat_status_disabled</li>
<li>weechat.look.paste_auto_add_newline</li>
<li>weechat.color.status_name_insecure</li>
</ul>
<p>Options changed:</p>
<ul>
<li>option irc.server_default.ssl renamed to irc.server_default.tls</li>
<li>option irc.server_default.ssl_cert renamed to irc.server_default.tls_cert</li>
<li>option irc.server_default.ssl_dhkey_size renamed to irc.server_default.tls_dhkey_size</li>
<li>option irc.server_default.ssl_fingerprint renamed to irc.server_default.tls_fingerprint</li>
<li>option irc.server_default.ssl_password renamed to irc.server_default.tls_password</li>
<li>option irc.server_default.ssl_priorities renamed to irc.server_default.tls_priorities</li>
<li>option irc.server_default.ssl_verify renamed to irc.server_default.tls_verify</li>
<li>option relay.network.ssl_cert_key renamed to relay.network.tls_cert_key</li>
<li>option relay.network.ssl_priorities renamed to relay.network.tls_priorities</li>
<li>option weechat.color.status_name_ssl renamed to weechat.color.status_name_tls</li>
</ul>
<p>Options removed:</p>
<ul>
<li>trigger.color.trigger</li>
<li>trigger.color.trigger_disabled</li>
</ul>
<p>New keys:</p>
<ul>
<li>Alt+K (upper case): grab raw key and its command</li>
<li>In cursor mode:
<ul>
<li>letter "l" (lower case): quote focused line</li>
</ul></li>
</ul>Live streaming: 20th anniversary and release of v4.0.0urn:md5:62f8876469a5bc856b95f974d06717382023-06-13T21:21:00+01:002023-06-23T11:48:04+01:00Sébastien Helleucorebirthdaylivereleasestreaming <p>On June 26th, 2023, WeeChat will turn 20!</p>
<p>Project started on June 26th, 2003. It has grew a lot over time, thanks to contributions and ideas from a lot of users.</p>
<p>Today, WeeChat has:</p>
<ul>
<li><strong>286.778</strong> lines of code</li>
<li><strong>179.994</strong> lines of documentation</li>
<li><strong>12.146</strong> commits</li>
<li><strong>85</strong> versions released: <strong>69</strong> major, <strong>16</strong> patch</li>
<li><strong>297</strong> feature requests open</li>
<li><strong>91</strong> bugs open</li>
<li><strong>170</strong> contributors — thank you all! ♥</li>
</ul>
<p>To celebrate the 20th anniversary and the release of the next major version, a live streaming is organized on <strong>Saturday, June 24th, 7pm UTC</strong>.<br />
Around the world: San Francisco: 12pm – Montreal: 3pm – Paris: 9pm – Tokyo: 4am (June, 25th) – Sydney: 5am (June, 25th).</p>
<p>URL: <a href="https://youtube.com/live/EtzdpXFEcO0" hreflang="en" title="https://youtube.com/live/EtzdpXFEcO0">https://youtube.com/live/EtzdpXFEcO0</a></p>
<p>Agenda of this live session, in English and recorded:</p>
<ul>
<li>History of the project</li>
<li>Demo of the new features in 4.0.0</li>
<li>Live release of 4.0.0</li>
<li>The future of WeeChat</li>
</ul>
<p>During the live, you can ask questions or react either in youtube or in channel #weechat-live (irc.libera.chat).</p>
<p>I look forward to seeing many of you there!</p>Key bindings improvements, case sensitive identifiers, semantic versioningurn:md5:a83c1adcc69a4dcc5be8b67b9d3965ac2023-03-18T17:13:00+00:002023-04-21T11:25:13+01:00Sébastien Helleucorebuildkeyssemanticversioning <p>Major changes are coming in the next WeeChat version, bumped to <strong>4.0.0</strong> (instead of 3.9, as planned initially).</p>
<p>Some breaking changes:</p>
<ol>
<li>key bindings improvements: using names instead of raw codes (eg: <code>meta-left</code> instead of <code>meta2-1;3D</code>)</li>
<li>many identifiers have been made case sensitive, including commands, aliases and options</li>
<li>build with autotools has been removed, only CMake can now be used to compile WeeChat.</li>
</ol>
<p>There are other changes, see the <a href="https://weechat.org/files/doc/weechat/ChangeLog-devel.html#v4.0.0" hreflang="en" title="ChangeLog">ChangeLog</a>.<br />
Note that this version is under development and your feedback is welcome!<br />
Please read carefully the release notes if you're testing it: <a href="https://weechat.org/files/doc/weechat/ReleaseNotes-devel.html#v4.0.0" hreflang="en" title="Release Notes">Release Notes</a>.</p>
<p>Cherry on the cake: WeeChat is now following a "practical" semantic versioning, a less strict version of <a href="https://semver.org/" hreflang="en" title="https://semver.org/">https://semver.org/</a>.</p>
<p>For more information on all major/breaking changes, see the specifications: <a href="https://specs.weechat.org/" hreflang="en" title="https://specs.weechat.org/">https://specs.weechat.org/</a></p>Version 3.8urn:md5:f434183cb21626d7b0907935f5b34a4a2023-01-08T10:45:00+00:002023-01-08T10:45:00+00:00Sébastien Helleucorerelease <p>Version <strong>3.8</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.8.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add option weechat.look.chat_space_right</li>
<li>allow value "0" in buffer property "unread" to remove read marker from buffer</li>
<li>add command <code>/allbuf</code></li>
<li>add command <code>/hotlist</code></li>
<li>move some <code>/input</code> actions to commands <code>/allbuf</code>, <code>/buffer</code> and <code>/hotlist</code></li>
<li>improve case convert and insensitive char comparisons</li>
<li>add color attributes "blink" and "dim" (half bright)</li>
<li>allow command <code>/toggle</code> to create option before setting the value, if allowed in the section</li>
<li>add signals "buffer_user_input_xxx" and "buffer_user_closing_xxx" for buffers created with <code>/buffer add</code></li>
<li>add identifier in buffer lines</li>
<li>add option "unicode" in command <code>/debug</code></li>
<li>add Curl options for versions 7.64.0 to 7.87.0</li>
<li>add API functions string_strcmp and string_strncmp</li>
<li>rename char comparison API functions "utf8_char*" to "string_char*"</li>
<li>return arithmetic difference between chars in API functions string_charcmp, string_charcasecmp, string_charcasecmp_range, string_strcasecmp, string_strcasecmp_range, string_strncasecmp, string_strncasecmp_range, string_strcmp_ignore_chars</li>
<li>return newly allocated string in API functions string_tolower and string_toupper</li>
<li>add API function utf8_strncpy</li>
<li>add trigger regex command "y" to translate chars, set default regex command to "s" (regex replace)</li>
<li>many bugs fixed.</li>
</ul>
<p>New commands:</p>
<ul>
<li><code>/allbuf</code></li>
<li><code>/hotlist</code></li>
</ul>
<p>New options:</p>
<ul>
<li>weechat.look.chat_space_right</li>
</ul>Version 3.7.1urn:md5:c5b278f4637d41724781db280f60bc242022-10-21T13:46:00+01:002022-10-21T13:46:00+01:00Sébastien Helleucorerelease <p>Version <strong>3.7.1</strong> is available, it fixes a regression in trigger plugin introduced in version 3.7.</p>
<p>Upgrade is recommended if you use triggers (other than the default ones).</p>Version 3.7urn:md5:e93930a646397e610e75a8e12dd6c32e2022-10-09T13:42:00+01:002022-10-09T13:14:25+01:00Sébastien Helleucorerelease <p>Version <strong>3.7</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.7.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add option "-save" in command "/upgrade"</li>
<li>add option weechat.look.highlight_disable_regex and buffer property "highlight_disable_regex"</li>
<li>sort filters by name</li>
<li>add key Alt+Backspace to delete previous word, change key Ctrl+w to delete previous word until whitespace</li>
<li>rename API function string_build_with_split_string to string_rebuild_split_string, add arguments "index_start" and "index_end"</li>
<li>add info "uptime_current"</li>
<li>add API function crypto_hash_file</li>
<li>add support of priority in API function hook_line</li>
<li>add API function string_parse_size</li>
<li>add API function file_compress</li>
<li>add buflist variable "${hotlist_priority_number}" (integer version of "${hotlist_priority}")</li>
<li>display SETNAME command in IRC channels and private buffers, add options irc.color.message_setname and irc.look.smart_filter_setname</li>
<li>add option irc.look.display_pv_nick_change</li>
<li>add options to rotate and compress log files: logger.file.rotation_compression_level, logger.file.rotation_compression_type and logger.file.rotation_size_max</li>
<li>allow special dict value "-" to disable spell checking on a specific buffer</li>
<li>add elapsed time for trigger execution on monitor buffer when trigger debug is set, add option trigger.color.identifier</li>
<li>add trigger variable "${tg_hook_type}"</li>
<li>many bugs fixed.</li>
</ul>
<p>New keys:</p>
<ul>
<li>Alt+Backspace: delete previous word (Ctrl+w: delete previous word until whitespace)</li>
</ul>Version 3.6urn:md5:79073fbfa9146ba30a9248105d35e5422022-07-10T09:49:00+01:002022-07-10T09:49:00+01:00Sébastien Helleucorerelease <p>Version <strong>3.6</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.6.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add command "/item" to create custom bar items</li>
<li>add bar item "spacer"</li>
<li>add case conversion in evaluation of expressions with "lower:string" and "upper:string"</li>
<li>move detailed list of hooks from command "/plugin listfull" to "/debug hooks <plugin>"</li>
<li>allow to remove multiple filters at once with command "/filter del"</li>
<li>allow to catch multiple signals in functions hook_signal and hook_hsignal</li>
<li>rename option "save" to "apply" in IRC command "/autojoin"</li>
<li>add support of RPL_HELPSTART, RPL_HELPTXT and RPL_ENDOFHELP (IRC messages 524, 704, 705, 706)</li>
<li>add support of PHP 8.2</li>
<li>many bugs fixed.</li>
</ul>Version 3.5urn:md5:34ed684a4f6eb5a0919ccd89e9d5fc392022-03-27T16:16:00+01:002022-07-09T08:25:01+01:00Sébastien Helleucorerelease <p>Version <strong>3.5</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.5.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>search in message tags when tags are displayed with "/debug tags"</li>
<li>add support of date and tags in messages displayed in buffers with free content, add function printf_y_date_tags</li>
<li>add IRC command /autojoin, add IRC server option "autojoin_dynamic"</li>
<li>add IRC message tags in messages displayed</li>
<li>add "zstd" (<a href="https://facebook.github.io/zstd/" hreflang="en" title="Zstandard">Zstandard</a>) compression in relay weechat protocol, remove option "compression" from "init" command, rename option relay.network.compression_level to relay.network.compression</li>
<li>add trigger variables "${tg_tag_irc_xxx}" containing IRC message tags</li>
<li>many bugs fixed.</li>
</ul>Version 3.4.1urn:md5:d6831fd377934d09b64598d26f400f852022-03-13T20:56:00+00:002022-03-13T21:51:57+00:00Sébastien Helleucorereleasesecurity <p>Version <strong>3.4.1</strong> is available, it fixes <a href="https://weechat.org/doc/security/WSA-2022-1/" hreflang="en" title="a security vulnerability">a security vulnerability</a>: after changing gnutls options, the function used to validate certificates is not called any more, this can lead to a man-in-the-middle attack.</p>
<p>Upgrade is recommended for all users.</p>Version 3.4urn:md5:ade54a73698c215552e739c5e7be638c2021-12-18T09:34:00+00:002021-12-18T09:34:00+00:00Sébastien Helleucorerelease <p>Version <strong>3.4</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.4.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>improve the IRC message parser</li>
<li>add command /toggle</li>
<li>add user variables in evaluation of expressions with "define:name,value"</li>
<li>add support of static arrays in hdata</li>
<li>hide key and password in command "/msg nickserv setpass nick key password"</li>
<li>add dark theme in documentation (automatic theme, following browser/desktop settings)</li>
<li>add support of Ruby 3.0</li>
<li>many bugs fixed.</li>
</ul>Dark theme for WeeChat docsurn:md5:e8058d9cd56224b03c367b239ae21a862021-11-28T21:05:00+00:002021-11-28T21:11:39+00:00Sébastien Helleucoredarkdocumentationtheme <p>In addition to weechat.org website, a dark theme has been added in WeeChat docs (only development docs for now: <a href="https://weechat.org/doc/devel/" hreflang="en">https://weechat.org/doc/devel/</a>).<br />
The use of this dark theme is automatic (following your desktop/browser configuration).</p>
<p>New dark theme (click for full size):</p>
<p><br />
<a href="https://blog.weechat.org/public/weechat_doc_dark.png" title="weechat_doc_dark.png"><img src="https://blog.weechat.org/public/.weechat_doc_dark_m.png" alt="weechat_doc_dark.png" style="display:table; margin:0 auto;" title="Doc with dark theme" /></a>
<br /></p>
<p>The light theme:</p>
<p><br />
<a href="https://blog.weechat.org/public/weechat_doc_light.png" title="weechat_doc_light.png"><img src="https://blog.weechat.org/public/.weechat_doc_light_m.png" alt="weechat_doc_light.png" style="display:table; margin:0 auto;" title="Doc with light theme" /></a>
<br /></p>
<p>Hope you like this new eye-friendly dark theme!</p>Version 3.3urn:md5:325078f4a4746115195d223b143dfddb2021-09-19T13:40:00+01:002022-10-09T12:50:23+01:00Sébastien Helleucorerelease <p>Version <strong>3.3</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.3.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add new plugin "typing" to display users currently writing messages on IRC channel/private buffers (<a href="https://ircv3.net/specs/client-tags/typing.html" hreflang="en" title="IRCv3 specification">IRCv3 specification</a>)</li>
<li>enable all IRC capabilities by default (if supported by server and WeeChat), change default value of option irc.server_default.capabilities to "*"</li>
<li>implement <a href="https://ircv3.net/specs/extensions/sasl-3.2" hreflang="en" title="IRCv3.2 SASL authentication">IRCv3.2 SASL authentication</a>, add command /auth, reconnect by default to the server in case of SASL authentication failure</li>
<li>add support of capability "message-tags" and TAGMSG messages (<a href="https://ircv3.net/specs/extensions/message-tags.html" hreflang="en" title="IRCv3 specification">IRCv3 specification</a>)</li>
<li>add command /setname, add support of message and capability "setname" (<a href="https://ircv3.net/specs/extensions/setname.html" hreflang="en" title="IRCv3 specification">IRCv3 specification</a>)</li>
<li>add support of FAIL/WARN/NOTE IRC messages (<a href="https://ircv3.net/specs/extensions/standard-replies" hreflang="en" title="IRCv3 specification">IRCv3 specification</a>)</li>
<li>drop support of IRC DH-BLOWFISH and DH-AES SASL mechanisms</li>
<li>add new keys to clear, remove and restore buffers in hotlist</li>
<li>add option "certs" in command /debug</li>
<li>add options "-o", "-ol", "-i" and "-il" in command "/plugin list"</li>
<li>add split of string and shell arguments in evaluation of expressions with "split:number,seps,flags,xxx" and "split_shell:number,xxx"</li>
<li>add "${re:repl_index}" to get the index of replacement in function string_eval_expression</li>
<li>add random integer number in evaluation of expressions with "random:min,max"</li>
<li>add functions string_cut and file_copy in API</li>
<li>remember insertion order in hashtables</li>
<li>add keys/values with tags in output of irc_message_parse_to_hashtable</li>
<li>add option "-parted" in command /allchan</li>
<li>allow signals "irc_raw_in" and "irc_in" to eat messages</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.look.display_account_message</li>
<li>irc.look.display_extended_join</li>
<li>irc.look.typing_status_nicks</li>
<li>irc.look.typing_status_self</li>
<li>typing.look.delay_purge_paused</li>
<li>typing.look.delay_purge_typing</li>
<li>typing.look.delay_set_paused</li>
<li>typing.look.enabled_nicks</li>
<li>typing.look.enabled_self</li>
<li>typing.look.input_min_chars</li>
<li>typing.look.item_max_length</li>
</ul>
<p>New keys:</p>
<ul>
<li>Alt+h, Alt+c: clear hotlist (old key was Alt+h)</li>
<li>Alt+h, Alt+m: remove current buffer from hotlist</li>
<li>Alt+h, Alt+r: restore latest hotlist removed in the current buffer</li>
<li>Alt+h, Alt+Shift+R: restore latest hotlist removed in all buffers</li>
</ul>Version 3.2.1urn:md5:3cc1103cdfe52cf12d2bdffdcbe98b922021-09-04T15:42:00+01:002022-03-13T21:52:45+00:00Sébastien Helleucorereleasesecurity <p>Version <strong>3.2.1</strong> is available, it fixes <a href="https://weechat.org/doc/security/WSA-2021-1/" hreflang="en" title="a security vulnerability">a security vulnerability</a>: a malformed websocket frame received in relay plugin can cause a crash (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-40516" hreflang="en" title="CVE-2021-40516">CVE-2021-40516</a>).</p>
<p>Upgrade is recommended for all users.</p>Version 3.2urn:md5:db6b809db64096a10ab9d4e2b7f3de8d2021-06-13T10:02:00+01:002021-09-19T11:10:37+01:00Sébastien Helleucorerelease <p>Version <strong>3.2</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.2.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>use XDG directories by default (config, data, cache, runtime)</li>
<li>add support of IRC SASL mechanisms SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512</li>
<li>automatically load system certificates without giving a hardcoded path to the file with certificates</li>
<li>add options to customize commands executed on system signals received (SIGHUP, SIGQUIT, SIGTERM, SIGUSR1, SIGUSR2)</li>
<li>add bar item "tls_version" and buflist format</li>
<li>add signals "cursor_start" and "cursor_end"</li>
<li>add function crypto_hmac in API</li>
<li>add translated string in evaluation of expressions with "translate:xxx"</li>
<li>add info "weechat_daemon"</li>
<li>add Python stub for WeeChat API</li>
<li>add variables "${tg_shell_argc}" and "${tg_shell_argvN}" in command trigger evaluated strings</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>buflist.format.tls_version</li>
<li>irc.color.item_tls_version_ok</li>
<li>irc.color.item_tls_version_deprecated</li>
<li>irc.color.item_tls_version_insecure</li>
<li>weechat.network.gnutls_ca_system</li>
<li>weechat.network.gnutls_ca_user</li>
<li>weechat.signal.sighup</li>
<li>weechat.signal.sigquit</li>
<li>weechat.signal.sigterm</li>
<li>weechat.signal.sigusr1</li>
<li>weechat.signal.sigusr2</li>
</ul>
<p>Options removed:</p>
<ul>
<li>weechat.network.gnutls_ca_file</li>
</ul>XDG directoriesurn:md5:a378bc2b38562b79e51b8d588093a50a2021-06-12T20:24:00+01:002021-06-13T08:04:44+01:00Sébastien Helleucoreconfigurationdirectoryxdg <p>Support of XDG directories has been added in WeeChat 3.2 and these directories are now used by default.<br />
Note: for compatibility reasons, if a legacy directory <code>~/.weechat</code> exists, it is used instead of XDG directories.</p>
<p>The files are stored in four different directories:</p>
<ul>
<li><strong>config</strong> (eg: <code>/home/user/.config/weechat</code>)</li>
<li><strong>data</strong> (eg: <code>/home/user/.local/share/weechat</code>)</li>
<li><strong>cache</strong> (eg: <code>/home/user/.cache/weechat</code>)</li>
<li><strong>runtime</strong> (eg: <code>/run/user/1000/weechat</code>).</li>
</ul>
<p>As this led to a lot of changes in WeeChat code but also in the scripts, a new specification repository has been setup on GitHub: <a href="https://github.com/weechat/specs.weechat.org" title="https://github.com/weechat/specs.weechat.org">https://github.com/weechat/specs.we...</a></p>
<p>Please read the XDG directories specification for the complete list of changes: <a href="https://specs.weechat.org/specs/001285-follow-xdg-base-dir-spec.html" title="https://specs.weechat.org/specs/001285-follow-xdg-base-dir-spec.html">https://specs.weechat.org/specs/001...</a>.</p>Version 3.1urn:md5:bf6f97ead4ccfaa50bd2c67d0e53d12f2021-03-07T12:21:00+00:002021-03-07T13:01:32+00:00Sébastien Helleucorerelease <p>Version <strong>3.1</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.1.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch</li>
<li>add option sec.crypt.passphrase_command to read passphrase from an external program on startup, remove option sec.crypt.passphrase_file</li>
<li>improve debug in command /eval</li>
<li>add options "setvar" and "delvar" in command /buffer, rename option "localvar" to "listvar"</li>
<li>add buffer local variable "completion_default_template" (evaluated) to override the value of option weechat.completion.default_template</li>
<li>add option "recreate" in command /filter</li>
<li>add raw string in evaluation of expressions with "raw:xxx"</li>
<li>add evaluation of conditions in evaluation of expressions with "eval_cond:xxx"</li>
<li>add info_hashtable "secured_data"</li>
<li>add info "irc_is_message_ignored"</li>
<li>add IRC server option "default_chantypes", used when the server does not send them in message 005</li>
<li>add variable <code>${tg_trigger_name}</code> in command trigger evaluated strings</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>buflist.look.use_items</li>
<li>irc.server.xxx.default_chantypes</li>
<li>sec.crypt.passphrase_command</li>
<li>weechat.look.hotlist_update_on_buffer_switch</li>
<li>weechat.look.read_marker_update_on_buffer_switch</li>
</ul>
<p>Options removed:</p>
<ul>
<li>sec.crypt.passphrase_file (replaced by sec.crypt.passphrase_command)</li>
</ul>Version 3.0.1urn:md5:ec5e01c3c3d0344fabb7e5438cca67102021-01-31T09:53:00+00:002021-01-31T09:55:22+00:00Sébastien Helleucorerelease <p>Version <strong>3.0.1</strong> is available, it fixes a crash in spell plugin with IRC color codes and two other minor bugs.</p>
<p>Upgrade is recommended if you enable the spell checking (not enabled by default).</p>Version 3.0urn:md5:68a13a211ff3c463c3b8b3522c1169292020-11-11T09:57:00+00:002020-11-11T09:57:00+00:00Sébastien Helleucorerelease <p>Version <strong>3.0</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-3.0.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add option script.scripts.download_enabled (it must be explicitly set to "on" to allow download of scripts from weechat.org)</li>
<li>add option "-oerr" in command /exec to send stderr to buffer (now disabled by default)</li>
<li>allow to send text on buffers and evaluate command with commands /allchan, /allpv and /allserv</li>
<li>add option fset.look.auto_refresh</li>
<li>add variable "tg_argc" in data set by command trigger and variable "tg_trigger_name" in data set by all triggers</li>
<li>add argument "bytes" in API function string_dyn_concat</li>
<li>add API function string_color_code_size</li>
<li>add optional list of colors in infos "nick_color" and "nick_color_name"</li>
<li>irc: add pointer to irc_nick in focus of bar item "buffer_nicklist"</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>fset.look.auto_refresh</li>
<li>script.scripts.download_enabled</li>
</ul>Version 2.9urn:md5:d1ab2c80ef3ee5cc70e8e1602b7ebdd92020-07-18T14:42:00+01:002020-07-18T14:42:00+01:00Sébastien Helleucorerelease <p>Version <strong>2.9</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.9.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add command "handshake" in weechat relay protocol and nonce to prevent replay attacks during authentication</li>
<li>add command "completion" in weechat relay protocol</li>
<li>add option relay.network.auth_timeout, add status "waiting_auth" in irc and weechat relay protocols</li>
<li>add option "color_bg_inactive" in bars</li>
<li>add bar items "buffer_nicklist_count_groups" and "buffer_nicklist_count_all"</li>
<li>add key Alt+Enter to insert a newline, set default size for input bar to 0 (automatic)</li>
<li>add a scalable WeeChat logo (SVG)</li>
<li>add base 16/32/64 encoding/decoding in evaluation of expressions with "base_encode:base,xxx" and "base_decode:base,xxx"</li>
<li>add case sensitive wildcard matching comparison operator ("==*" and "!!*") and case sensitive/insensitive include comparison operators ("==-", "!!-", "=-", "!-") in evaluation of expressions</li>
<li>add keys Alt+Shift+B and Alt+Shift+N to toggle buflist/nicklist bars</li>
<li>reload configuration files when the SIGHUP signal is received</li>
<li>add API functions to complete words in command line</li>
<li>evaluate option buflist.look.sort</li>
<li>add support of "UTF8MAPPING" in IRC server</li>
<li>display IRC "account" messages in buffers</li>
<li>evaluate arguments when a trigger of type "command" is created</li>
<li>enable again command "/guile eval"</li>
<li>fix slow send of data to relay clients when SSL is enabled</li>
<li>add CI with GitHub Actions</li>
<li>run tests on plugins only if the plugins are enabled and compiled</li>
<li>GnuTLS is now a required dependency</li>
<li>disable build of JavaScript plugin by default, remove Debian package "weechat-javascript"</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.color.message_account</li>
<li>irc.look.smart_filter_account</li>
<li>relay.network.auth_timeout</li>
<li>relay.network.nonce_size</li>
<li>relay.network.password_hash_algo</li>
<li>relay.network.password_hash_iterations</li>
<li>weechat.bar.xxx.color_bg_inactive (one color per bar)</li>
</ul>
<p>New keys:</p>
<ul>
<li>Alt+Enter: insert a newline</li>
<li>Alt+Shift+B: toggle buflist</li>
<li>Alt+Shift+N: toggle nicklist bar</li>
</ul>Version 2.8urn:md5:23b24ac1f8f992a8fc4bdbb934f916352020-03-29T10:09:00+01:002020-03-29T10:24:15+01:00Sébastien Helleucorerelease <p>Version <strong>2.8</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.8.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add variable "old_full_name" in buffer, set during buffer renaming</li>
<li>add debug option "-d" in command /eval</li>
<li>add functions crypto_hash and crypto_hash_pbkdf2 in plugin API</li>
<li>add infos "auto_connect" and "weechat_headless"</li>
<li>add pointer "window" in bar item evaluation (buflist)</li>
<li>add support of fake IRC servers (no I/O, for testing purposes)</li>
<li>accept hash of password in init command of weechat relay protocol with option "password_hash" (PBKDF2, SHA256, SHA512)</li>
<li>reject client with weechat relay protocol if password or totp is received in init command but not set in WeeChat</li>
<li>add support of Ruby 2.7</li>
<li>add support of PHP 7.4</li>
<li>many bugs fixed.</li>
</ul>Version 2.7.1urn:md5:be3a9fcac6faf5fcb54151520bf22e802020-02-20T21:23:00+00:002022-03-13T21:55:36+00:00Sébastien Helleucorereleasesecurity <p>Version <strong>2.7.1</strong> is available, it fixes <a href="https://weechat.org/doc/security/" hreflang="en" title="three security vulnerabilities">three security vulnerabilities</a>:</p>
<ul>
<li><a href="https://weechat.org/doc/security/WSA-2020-1" hreflang="en" title="WSA-2020-1">WSA-2020-1</a>: a malformed IRC message 324 (channel mode) can cause a buffer overflow and possibly a crash (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8955" hreflang="en" title="CVE-2020-8955">CVE-2020-8955</a>)</li>
<li><a href="https://weechat.org/doc/security/WSA-2020-2" hreflang="en" title="WSA-2020-2">WSA-2020-2</a>: a malformed IRC message 352 (WHO) can cause a crash (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9759" hreflang="en" title="CVE-2020-9759">CVE-2020-9759</a>)</li>
<li><a href="https://weechat.org/doc/security/WSA-2020-3" hreflang="en" title="WSA-2020-3">WSA-2020-3</a>: a new IRC message 005 received with longer nick prefixes can cause a buffer overflow and possibly a crash (<a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-9760" hreflang="en" title="CVE-2020-9760">CVE-2020-9760</a>).</li>
</ul>
<p>Upgrade is recommended for all users.</p>Version 2.7urn:md5:dda62e6ca2e4b3a5ace3bb3c5ab1048b2019-12-08T11:18:00+00:002019-12-08T12:20:19+00:00Sébastien Helleucorerelease <p>Version <strong>2.7</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.7.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add option logger.file.color_lines (support of ANSI color codes in log files)</li>
<li>add filters on IRC raw buffer</li>
<li>add IRC server option "ssl_password"</li>
<li>add option irc.look.display_pv_warning_address</li>
<li>add options irc.color.message_kick and irc.color.reason_kick</li>
<li>add option xfer.file.download_temporary_suffix</li>
<li>add option weechat.look.nick_color_hash_salt</li>
<li>add different WeeChat icons sizes</li>
<li>add calculation of expression in evaluation of expressions with "calc:xxx"</li>
<li>add optional default path (evaluated) in completion "filename"</li>
<li>add modifier "color_encode_ansi"</li>
<li>add support of Guile 2.2</li>
<li>add support of Python 3.8</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.look.display_pv_warning_address</li>
<li>irc.color.message_kick</li>
<li>irc.color.reason_kick</li>
<li>irc.server_default.charset_message</li>
<li>irc.server_default.ssl_password</li>
<li>logger.file.color_lines</li>
<li>weechat.look.nick_color_hash_salt</li>
<li>xfer.file.download_temporary_suffix</li>
</ul>
<p>Options removed:</p>
<ul>
<li>irc.network.channel_encode (replaced by irc.server_default.charset_message)</li>
</ul>Version 2.6urn:md5:ba1c4b7770398d3956f1d9228e2294222019-09-08T13:30:00+01:002019-09-08T13:30:00+01:00Sébastien Helleucorerelease <p>Version <strong>2.6</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.6.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>use Python 3 by default</li>
<li>add support of 32767 color pairs</li>
<li>add option "close" in command /window</li>
<li>add infos "term_colors" and "term_color_pairs"</li>
<li>add infolist "buflist" with list of buffer pointers</li>
<li>evaluate option exec.command.shell, change default value to "${env:SHELL}"</li>
<li>add filters "h=xxx" and "he=xxx" to filter options by description in fset buffer (translated or in English)</li>
<li>make command char optional in server option "command"</li>
<li>remove default aliases /ame and /amsg</li>
<li>many bugs fixed.</li>
</ul>Version 2.5urn:md5:05f2926d7d44764a7a3e0ee9a617c8622019-06-06T21:30:00+01:002019-06-06T21:30:00+01:00Sébastien Helleucorerelease <p>Version <strong>2.5</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.5.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add support of UNIX domain sockets in relay plugin</li>
<li>add option relay.weechat.commands</li>
<li>add trigger hooks "info" and "info_hashtable"</li>
<li>add option xfer.network.speed_limit_recv</li>
<li>add option weechat.look.buffer_time_same</li>
<li>add option weechat.look.prefix_same_nick_middle</li>
<li>add option "addreplace" in command /filter</li>
<li>add bar items "irc_nick", "irc_host" and "irc_nick_host"</li>
<li>add functions command_options and string_match_list in plugin API</li>
<li>rename aspell plugin to spell</li>
<li>use getopt to parse command line arguments</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>relay.weechat.commands</li>
<li>weechat.look.buffer_time_same</li>
<li>weechat.look.prefix_same_nick_middle</li>
<li>xfer.network.speed_limit_recv</li>
</ul>Version 2.4urn:md5:fb174a318c45096008eeda98c971d97e2019-02-17T09:11:00+00:002019-02-17T15:09:43+00:00Sébastien Helleucorerelease <p>Version <strong>2.4</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.4.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add command line option "-t" (or "--temp-dir") to create a temporary WeeChat home (deleted on exit)</li>
<li>add support of Time-based One-Time Password (TOTP), add infos "totp_generate" and "totp_validate", add support of TOTP as second authentication factor in weechat protocol (relay plugin)</li>
<li>add buflist variable ${number2}, always set with the indented buffer number</li>
<li>add option exec.command.shell to customize the shell used with /exec -sh</li>
<li>add support of close frame in websocket connection (relay plugin)</li>
<li>add functions string_base_encode and string_base_decode in API, remove functions string_encode_base64 and string_decode_base64</li>
<li>add default keys Ctrl+F11/F12 to scroll up/down one page in nicklist (same action as F11/F12)</li>
<li>add default buflist keys Ctrl+F1/F2 to scroll up/down one page in buflist (same action as F1/F2)</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>exec.command.shell</li>
<li>relay.network.totp_secret</li>
<li>relay.network.totp_window</li>
</ul>
<p>New keys:</p>
<ul>
<li>Ctrl+F1/F2: scroll up/down one page in buflist</li>
<li>Ctrl+F11/F12: scroll up/down one page in nicklist</li>
</ul>Support of TOTPurn:md5:9b70fba895d212b37380e624ddf7aebe2019-01-14T21:47:00+00:002019-01-14T21:47:00+00:00Sébastien Helleucore2faauthenticationrelaytotp <p><a href="https://en.wikipedia.org/wiki/Time-based_One-time_Password_algorithm">TOTP</a> (Time-based One-Time Password) support has been added in WeeChat, which can now generate and check TOTP validity.</p>
<p>A TOTP is generated with:</p>
<ul>
<li>the secret (encoded in <a href="https://en.wikipedia.org/wiki/Base32">base 32</a>),</li>
<li>the time (by default 0, which is the current time),</li>
<li>the number of digits (4 to 10 digits are supported, 6 is the default and recommended value).</li>
</ul>
<p><strong>Relay plugin</strong></p>
<p>The TOTP can be used as second authentication factor in the relay plugin, with two new options:</p>
<ul>
<li>relay.network.totp_secret: the TOTP secret, encoded in base 32</li>
<li>relay.network.totp_window: the allowed window: number of TOTP allowed before and after the current time window.</li>
</ul>
<p>For example to set the secret using secured data (just replace "xxxxx" by your secret in base 32):</p>
<pre>/secure set relay_totp_secret xxxxx
/set relay.network.totp_secret "${sec.data.relay_totp_secret}"</pre>
<p>Then your relay client must support and send the TOTP value, in addition to the password, in the "init" command:</p>
<pre>init password=secretpassword,totp=123456</pre>
<p>If the password is valid and that TOTP is valid for the current time, the authentication is successful.</p>
<p><strong>Infos / eval</strong></p>
<p>You can also generate or validate TOTP with two new infos in WeeChat:</p>
<ul>
<li>totp_generate: generate a TOTP</li>
<li>totp_validate: validate a TOTP</li>
</ul>
<p>For example to show the value of TOTP for the secret "secretbase32", current time, with 6 digits:</p>
<pre>/eval -n ${info:totp_generate,secretbase32,0,6}</pre>
<p><strong>Documentation</strong></p>
<p>You can read more about TOTP in the docs:</p>
<ul>
<li>user's guide: <a href="https://weechat.org/files/doc/devel/weechat_user.en.html#relay_totp">TOTP in relay plugin</a></li>
<li>API reference: <a href="https://weechat.org/files/doc/devel/weechat_plugin_api.en.html#_info_get">infos "totp_generate" and "totp_validate"</a>.</li>
</ul>Version 2.3urn:md5:4e92c08179b160ae7f3d57440ea78ad52018-10-21T13:35:00+02:002018-10-21T13:35:00+02:00Sébastien Helleucorerelease <p>Version <strong>2.3</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.3.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add hook "line"</li>
<li>add option "-P" (or "--plugins") to customize the plugins to load at startup</li>
<li>allow multiple options "-r" ("--run-command") in command line arguments</li>
<li>allow allow partial buffer name and multiple arguments in command /buffer close</li>
<li>allow specifying buffer number/name for /buffer localvar</li>
<li>allow creation of temporary variables with the regex in trigger plugin</li>
<li>add real IP in client description in relay plugin</li>
<li>add repeat of string in evaluation of expressions with "repeat:count,string"</li>
<li>many bugs fixed.</li>
</ul>Version 2.2urn:md5:5ffa2d94884dbb4dde80e93eaa4766752018-07-14T14:07:00+02:002018-07-14T14:07:00+02:00Sébastien Helleucorerelease <p>Version <strong>2.2</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.2.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add support of list options in curl</li>
<li>allow merge of buffers by name in command /buffer</li>
<li>add reverse of string in evaluation of expressions with "rev:"</li>
<li>add indexed ban list and completion for /unban and /unquiet (IRC plugin)</li>
<li>add support for IRCv3.2 Client Capability Negotiation</li>
<li>add support for IRCv3.2 invite-notify</li>
<li>add support for IRCv3.2 chghost, add options irc.look.smart_filter_chghost and irc.color.message_chghost</li>
<li>add option xfer.network.send_ack</li>
<li>add support of Python 3.7</li>
<li>fix memory leaks scripting plugins</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.color.message_chghost</li>
<li>irc.look.smart_filter_chghost</li>
<li>xfer.network.send_ack</li>
</ul>Version 2.1urn:md5:cfc5c89611ac0498f601cf13131f09c92018-03-18T08:39:00+01:002018-07-14T08:40:23+02:00Sébastien Helleucorerelease <p>Version <strong>2.1</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.1.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>add a headless mode (new binary: "weechat-headless")</li>
<li>add options "-newbuffer", "-free", "-switch" and "-y" in command /print (with support of buffers with free content)</li>
<li>add option "add" in command /buffer</li>
<li>add option weechat.completion.partial_completion_templates to force partial completion on specific templates</li>
<li>add IRC server option "split_msg_max_length"</li>
<li>add option logger.file.fsync</li>
<li>add option logger.look.backlog_conditions</li>
<li>add configuration file for each script plugin ("python.conf", "perl.conf", ...)</li>
<li>add "eval" option in script commands and info "xxx_eval" (python, perl, ruby, lua and guile)</li>
<li>add infos "xxx_interpreter" and "xxx_version" in script plugins</li>
<li>add option "version" in script commands</li>
<li>display the script name in stdout/stderr output from scripts</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>python.look.check_license</li>
<li>python.look.eval_keep_context</li>
<li>perl.look.check_license</li>
<li>perl.look.eval_keep_context</li>
<li>ruby.look.check_license</li>
<li>ruby.look.eval_keep_context</li>
<li>lua.look.check_license</li>
<li>lua.look.eval_keep_context</li>
<li>tcl.look.check_license</li>
<li>tcl.look.eval_keep_context</li>
<li>guile.look.check_license</li>
<li>guile.look.eval_keep_context</li>
<li>javascript.look.check_license</li>
<li>javascript.look.eval_keep_context</li>
<li>php.look.check_license</li>
<li>php.look.eval_keep_context</li>
<li>irc.server_default.split_msg_max_length</li>
<li>logger.file.fsync</li>
<li>logger.look.backlog_conditions</li>
<li>weechat.completion.partial_completion_templates</li>
</ul>Version 2.0.1urn:md5:1a7b800437412b153036f47d5693499d2017-12-20T22:51:00+01:002017-12-21T15:16:09+01:00Sébastien Helleucorerelease <p>Version <strong>2.0.1</strong> is available, it fixes a Python API bug in functions <code>hook_fd</code> and <code>hook_connect</code>.</p>Version 2.0urn:md5:0692d0c08a50e8cdc8178ce67ea751bd2017-12-03T13:11:00+01:002017-12-21T15:16:17+01:00Sébastien Helleucorerelease <p>Version <strong>2.0</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-2.0.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>new plugin "fset" (fast set of WeeChat and plugins options)</li>
<li>new plugin "php" (support of PHP scripts)</li>
<li>add option buflist.look.add_newline</li>
<li>add two new bar items "buflist2" and "buflist3" using the same format configuration options</li>
<li>add flag "input_get_empty" in buffer</li>
<li>add signals "buffer_filters_enabled" and "buffer_filters_disabled"</li>
<li>support loading of plugins from path in environment variable "WEECHAT_EXTRA_LIBDIR"</li>
<li>add infolist "alias_default" (list of default aliases)</li>
<li>make value optional in command /buffer set</li>
<li>allow floating point and hexadecimal numbers in comparison of evaluated values</li>
<li>add option weechat.look.save_config_with_fsync</li>
<li>add support of prefix "quiet:" in function key_unbind() to quietly remove keys</li>
<li>add argument "recurse_subdirs" in function exec_on_files()</li>
<li>add local variable "filter" in the script buffer</li>
<li>remove recursive evaluation of extra variables in buflist</li>
<li>change type of arguments status/gnutls_rc/sock in hook_connect() callback from string to integer (in scripting API)</li>
<li>change type of argument fd in hook_fd() callback from string to integer (in scripting API)</li>
<li>fix display bugs with filtered lines</li>
<li>fix display of nicks in nicklist when they are in a group with sub-groups</li>
<li>call the config hook when options are renamed or removed</li>
<li>fix parsing of CAP command in relay/irc</li>
<li>many bugs fixed.</li>
</ul>
<p>New configuration files:</p>
<ul>
<li>fset.conf</li>
</ul>
<p>New options:</p>
<ul>
<li>buflist.look.add_newline</li>
<li>plugins.var.php.check_license</li>
<li>weechat.look.save_config_with_fsync</li>
</ul>
<p>New keys:</p>
<ul>
<li>in mouse context:
<ul>
<li>left button on fset buffer: change current line</li>
<li>right button on fset buffer: toggle boolean or edit value</li>
<li>right button + drag & drop left/right: change value</li>
<li>right button + drag & drop up/down: mark/unmark options</li>
</ul></li>
</ul>Split of scripting Debian packagesurn:md5:fec9aa5055c9e47416c2c00d6d6aa79e2017-11-04T12:49:00+01:002021-06-18T09:09:06+02:00Sébastien Helleucoredebianpackagingscript <p>Starting on Sunday, Nov 3rd 2017 at 02:00 (CET), the Debian packaging will change in <a href="https://weechat.org/download/debian/" hreflang="en" title="weechat.org Debian/Ubuntu/Raspbian repositories">weechat.org Debian/Ubuntu/Raspbian repositories</a>: the scripting plugins are split into multiple packages, so that Perl, Python, Ruby, ... can be installed separately.</p>
<p>Only development packages will be updated, the released versions (1.9.1 and earlier) will not be updated.</p>
<p><strong>Important</strong>: if you are using the WeeChat development packages from weechat.org, you will have to install manually the scripting packages (according to the languages you'll use in WeeChat).</p>
<p>Old packaging (until 2017-11-04):</p>
<ul>
<li>weechat</li>
<li>weechat-core</li>
<li>weechat-curses</li>
<li>weechat-dbg</li>
<li>weechat-dev</li>
<li>weechat-doc</li>
<li>weechat-plugins</li>
<li><strong>weechat-plugins</strong> (<strong>14</strong> plugins):
<ul>
<li>aspell</li>
<li>exec</li>
<li>fifo</li>
<li>guile</li>
<li>javascript</li>
<li>lua</li>
<li>perl</li>
<li>php</li>
<li>python</li>
<li>relay</li>
<li>ruby</li>
<li>script</li>
<li>tcl</li>
<li>trigger</li>
</ul></li>
</ul>
<p>New packaging, with <strong>8</strong> new packages:</p>
<ul>
<li>weechat</li>
<li>weechat-core</li>
<li>weechat-curses</li>
<li>weechat-dbg</li>
<li>weechat-dev</li>
<li>weechat-doc</li>
<li>weechat-plugins</li>
<li><strong>weechat-plugins</strong> (<strong>6</strong> plugins remaining):
<ul>
<li>aspell</li>
<li>exec</li>
<li>fifo</li>
<li>relay</li>
<li>script</li>
<li>trigger</li>
</ul></li>
<li><strong>weechat-python</strong></li>
<li><strong>weechat-perl</strong></li>
<li><strong>weechat-ruby</strong></li>
<li><strong>weechat-lua</strong></li>
<li><strong>weechat-tcl</strong></li>
<li><strong>weechat-guile</strong></li>
<li><strong>weechat-javascript</strong></li>
<li><strong>weechat-php</strong></li>
</ul>
<p>GitHub issue: <a href="https://github.com/weechat/weechat/issues/1085" hreflang="en" title="https://github.com/weechat/weechat/issues/1085">https://github.com/weechat/weechat/issues/1085</a></p>Automatic tests of scripting APIurn:md5:e8b33295853633b1525a43bf95f8fde22017-10-17T07:43:00+02:002017-10-17T06:44:09+02:00Sébastien Helleucorescripttests <p>Automatic tests of the scripting API have been added a few days ago. For now only a small part of API functions are checked.</p>
<p>This is done with 3 new Python scripts in directory tests/scripts/python:</p>
<ul>
<li>unparse.py: convert Python code to other languages (including Python itself)</li>
<li>testapigen.py: generate scripts in all languages to test the API</li>
<li>testapi.py scripting API tests</li>
</ul>
<p>The script unparse.py can convert Python code to other languages: Python, Perl, Ruby, Lua, TCL, Guile, JavaScript and PHP (new plugin in version 2.0).
The Python code is first parsed using AST (ast.parse), and then this tree is recursively scanned to produce code in Python or another language (note: only part of AST is supported, the minimum for WeeChat tests).</p>
<p>Example of code conversion in other languages:</p>
<pre>
$ ./unparse.py --language all
Enter the code to convert (Enter + ctrl+D to end)
def test_list_new():
ptr_list = weechat.list_new()
check(ptr_list != '')
check(weechat.list_size(ptr_list) == 0)
python:
def test_list_new():
ptr_list = weechat.list_new()
check(ptr_list != '')
check(weechat.list_size(ptr_list) == 0)
perl:
sub test_list_new
{
$ptr_list = weechat::list_new();
check($ptr_list ne "");
check(weechat::list_size($ptr_list) == 0);
}
ruby:
def test_list_new
ptr_list = weechat.list_new()
check(ptr_list != '')
check(weechat.list_size(ptr_list) == 0)
end
lua:
function test_list_new()
ptr_list = weechat.list_new()
check(ptr_list ~= '')
check(weechat.list_size(ptr_list) == 0)
end
tcl:
proc test_list_new {} {
set ptr_list [weechat::list_new]
check [expr {$ptr_list ne ""}]
check [expr {[weechat::list_size $ptr_list] == 0}]
}
guile:
(define (test_list_new)
(let ((ptr_list (weechat:list_new)))
(begin
(check (string<> ptr_list ""))
(check (= (weechat:list_size ptr_list) 0))
)
)
)
javascript:
function test_list_new() {
ptr_list = weechat.list_new()
check(ptr_list != '')
check(weechat.list_size(ptr_list) == 0)
}
php:
function test_list_new()
{
$ptr_list = weechat_list_new();
check($ptr_list != "");
check(weechat_list_size($ptr_list) == 0);
}
</pre>
<p>The script testapigen.py generates scripts in all supported languages. These scripts are loaded in WeeChat during tests, and print the results of tests, for example in Python:</p>
<pre>
>>> Running command: /script load -q ./tmp_weechat_test/testapi/testapi.py
>>> Running command: /testapi.py
>>>
>>> ------------------------------
>>> Testing python API
> TESTS: 57
> test_plugins
TEST OK: weechat.plugin_get_name('') == 'core'
TEST OK: weechat.plugin_get_name(weechat.buffer_get_pointer(weechat.buffer_search_main(), 'plugin')) == 'core'
> test_strings
TEST OK: weechat.charset_set('iso-8859-15') == 1
TEST OK: weechat.charset_set('') == 1
TEST OK: weechat.iconv_to_internal('iso-8859-15', 'abc') == 'abc'
TEST OK: weechat.iconv_from_internal('iso-8859-15', 'abcd') == 'abcd'
TEST OK: weechat.gettext('abcdef') == 'abcdef'
TEST OK: weechat.ngettext('file', 'files', 1) == 'file'
TEST OK: weechat.ngettext('file', 'files', 2) == 'files'
TEST OK: weechat.strlen_screen('abcd') == 4
TEST OK: weechat.string_match('abcdef', 'abc*', 0) == 1
TEST OK: weechat.string_eval_path_home('test ${abc}', {}, {'abc': '123'}, {}) == 'test 123'
TEST OK: weechat.string_mask_to_regex('test*mask') == 'test.*mask'
TEST OK: weechat.string_has_highlight('my test string', 'test,word2') == 1
TEST OK: weechat.string_has_highlight_regex('my test string', 'test|word2') == 1
TEST OK: weechat.string_remove_color('test', '?') == 'test'
TEST OK: weechat.string_is_command_char('/test') == 1
TEST OK: weechat.string_is_command_char('test') == 0
TEST OK: weechat.string_input_for_buffer('test') == 'test'
TEST OK: weechat.string_input_for_buffer('/test') == ''
TEST OK: weechat.string_input_for_buffer('//test') == '/test'
TEST OK: weechat.string_eval_expression('100 > 50', {}, {}, {'type': 'condition'}) == '1'
TEST OK: weechat.string_eval_expression('${buffer.full_name}', {}, {}, {}) == 'core.weechat'
> test_lists
TEST OK: ptr_list != ''
TEST OK: weechat.list_size(ptr_list) == 0
TEST OK: weechat.list_size(ptr_list) == 1
TEST OK: weechat.list_size(ptr_list) == 2
TEST OK: weechat.list_search(ptr_list, 'abc') == item_abc
TEST OK: weechat.list_search(ptr_list, 'def') == item_def
TEST OK: weechat.list_search(ptr_list, 'ghi') == ''
TEST OK: weechat.list_search_pos(ptr_list, 'abc') == 0
TEST OK: weechat.list_search_pos(ptr_list, 'def') == 1
TEST OK: weechat.list_search_pos(ptr_list, 'ghi') == -1
TEST OK: weechat.list_casesearch(ptr_list, 'abc') == item_abc
TEST OK: weechat.list_casesearch(ptr_list, 'def') == item_def
TEST OK: weechat.list_casesearch(ptr_list, 'ghi') == ''
TEST OK: weechat.list_casesearch(ptr_list, 'ABC') == item_abc
TEST OK: weechat.list_casesearch(ptr_list, 'DEF') == item_def
TEST OK: weechat.list_casesearch(ptr_list, 'GHI') == ''
TEST OK: weechat.list_casesearch_pos(ptr_list, 'abc') == 0
TEST OK: weechat.list_casesearch_pos(ptr_list, 'def') == 1
TEST OK: weechat.list_casesearch_pos(ptr_list, 'ghi') == -1
TEST OK: weechat.list_casesearch_pos(ptr_list, 'ABC') == 0
TEST OK: weechat.list_casesearch_pos(ptr_list, 'DEF') == 1
TEST OK: weechat.list_casesearch_pos(ptr_list, 'GHI') == -1
TEST OK: weechat.list_get(ptr_list, 0) == item_abc
TEST OK: weechat.list_get(ptr_list, 1) == item_def
TEST OK: weechat.list_get(ptr_list, 2) == ''
TEST OK: weechat.list_string(item_def) == 'def2'
TEST OK: weechat.list_next(item_abc) == item_def
TEST OK: weechat.list_next(item_def) == ''
TEST OK: weechat.list_prev(item_abc) == ''
TEST OK: weechat.list_prev(item_def) == item_abc
TEST OK: weechat.list_size(ptr_list) == 1
TEST OK: weechat.list_get(ptr_list, 0) == item_def
TEST OK: weechat.list_get(ptr_list, 1) == ''
TEST OK: weechat.list_size(ptr_list) == 0
> TESTS END
>>> Tests python: 57 tests, 57 OK, 0 errors, 0 unexpected messages, 9 ms
</pre>Version 1.9.1urn:md5:829fa1fe81a79add92ee6b494416722e2017-09-23T15:48:00+02:002021-09-04T15:45:02+02:00Sébastien Helleucorereleasesecurity <p>Version <strong>1.9.1</strong> is available, it fixes a <a href="https://weechat.org/doc/security/" hreflang="en" title="security vulnerability">security vulnerability</a>: a crash can happen in logger plugin when converting date/time specifiers in file mask. Two other bugs are fixed as well in buflist and relay plugins.</p>
<p>Upgrade is <strong>recommended</strong> for all users.</p>Version 1.9urn:md5:8fb5dd4a11b21608d7991f52c35a27912017-06-25T12:15:00+02:002017-07-02T13:30:01+02:00Sébastien Helleucorerelease <p>Version <strong>1.9</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.9.html" hreflang="en">ChangeLog</a> for detail.</p>
<p>New major features in this release:</p>
<ul>
<li>improve speed of nicklist bar item callback</li>
<li>add auto scroll of buflist bar with new option buflist.look.auto_scroll</li>
<li>add option buflist.format.name</li>
<li>add variables <code>${format_name}</code>, <code>${current_buffer}</code> and <code>${merged}</code> in buflist</li>
<li>display a warning in buflist when the script buffers.pl is loaded</li>
<li>add server/channel pointers in trigger IRC callbacks</li>
<li>add API functions config_option_get_string and hdata_compare</li>
<li>fix bind of Space key</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>buflist.format.name</li>
<li>buflist.look.auto_scroll</li>
</ul>
<p>New keys:</p>
<ul>
<li>F1/F2: scroll buflist bar</li>
</ul>Version 1.8urn:md5:95d28bcfe9da972a6d52e205881b56722017-05-13T07:32:00+02:002017-05-19T21:39:23+02:00Sébastien Helleucorerelease <p>Version <strong>1.8</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.8.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.8.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add option weechat.completion.nick_case_sensitive</li>
<li>add wilcard matching operator, cut of string and ternary operator in evaluation of expressions</li>
<li>add resize of window parents with /window resize (h/v)size</li>
<li>add plugin "buflist" (bar with list of buffers)</li>
<li>add arraylist and dynamic string functions in API</li>
<li>add option "open" in command /server</li>
<li>add signal "irc_server_lag_changed" and store the lag in the server buffer (local variable)</li>
<li>add aspell options to control delimiters in suggestions</li>
<li>add option "-include" in commands /allchan, /allpv and /allserv</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>aspell.color.suggestion_delimiter_dict</li>
<li>aspell.color.suggestion_delimiter_word</li>
<li>aspell.look.suggestion_delimiter_dict</li>
<li>aspell.look.suggestion_delimiter_word</li>
<li>weechat.completion.nick_case_sensitive</li>
</ul>
<p>Options changed:</p>
<ul>
<li>option aspell.color.suggestions renamed to aspell.color.suggestion</li>
</ul>
<p>Options removed:</p>
<ul>
<li>script.scripts.url_force_https (now the option script.scripts.url uses HTTPS by default)</li>
</ul>
<p>New keys:</p>
<ul>
<li>in mouse context:
<ul>
<li>control key + wheel on buflist bar: change current buffer</li>
<li>mouse buttons on buflist bar: change current buffer or move buffers in list</li>
</ul></li>
</ul>Version 1.7.1urn:md5:95b1fcdb0822df670f52aaf13dfa2cb32017-04-22T17:18:00+02:002020-02-20T22:25:01+01:00Sébastien Helleucorerelease <p>Version <strong>1.7.1</strong> is available, it fixes a <a href="https://weechat.org/doc/security/" hreflang="en" title="security problem">security problem</a>: a crash can happen in IRC plugin when parsing the filename received via DCC.</p>
<p>Upgrade is <strong>recommended</strong> for all users.</p>Version 1.7urn:md5:23545bd746fda8ed3294c14d86ea83792017-01-15T08:16:00+01:002017-05-07T14:06:30+02:00Sébastien Helleucorerelease <p>Version <strong>1.7</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.7.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.7.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add option weechat.look.align_multiline_words</li>
<li>add option "time" in command /debug</li>
<li>add infos "uptime" and "pid"</li>
<li>add optional arguments in completion template</li>
<li>add irc server option "usermode"</li>
<li>add tag "self_msg" on self messages</li>
<li>add configuration file fifo.conf for fifo plugin</li>
<li>add option "-oc" in command /exec</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>fifo.file.enabled</li>
<li>fifo.file.path</li>
<li>irc.server_default.usermode (and same option in servers)</li>
<li>weechat.look.align_multiline_words</li>
</ul>
<p>Options changed:</p>
<ul>
<li>option plugins.var.fifo.fifo renamed to fifo.file.enabled (type changed from string to boolean)</li>
</ul>Version 1.6urn:md5:3a002e341dfdab5dd6610141435ddb352016-10-02T10:49:00+02:002017-05-07T14:06:38+02:00Sébastien Helleucorerelease <p>Version <strong>1.6</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.6.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.6.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add optional argument "lowest", "highest" or level mask in command /input hotlist_clear</li>
<li>add option "cycle" in command /buffer</li>
<li>add "extra" argument to evaluate extra variables in function string_eval_expression()</li>
<li>add option relay.network.allow_empty_password</li>
<li>add support for one-time triggers</li>
<li>rename server options "default_msg_{kick|part|quit}" to "msg_{kick|part|quit}", evaluate them</li>
<li>allow escape of comma in command "init" (weechat relay protocol)</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>relay.network.allow_empty_password</li>
<li>option "post_action" in each trigger</li>
</ul>
<p>Options changed:</p>
<ul>
<li>server options "default_msg_{kick|part|quit}" renamed to "msg_{kick|part|quit}"</li>
</ul>Version 1.5urn:md5:3dc797378f6537b525dbc99fae464bde2016-05-01T13:26:00+02:002017-05-07T14:06:46+02:00Sébastien Helleucorerelease <p>Version <strong>1.5</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.5.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.5.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add support of functions in API function "hook_process"</li>
<li>move of nick coloring options from irc plugin to core</li>
<li>move irc bar item "away" to core</li>
<li>add pointer in callbacks used in scripting API</li>
<li>add option irc.network.sasl_fail_unavailable</li>
<li>add Portuguese translations</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.network.sasl_fail_unavailable</li>
</ul>
<p>Options changed:</p>
<ul>
<li>irc.look.nick_color_force moved to weechat.look.nick_color_force</li>
<li>irc.look.nick_color_hash moved to weechat.look.nick_color_hash</li>
<li>irc.look.nick_color_stop_chars moved to weechat.look.nick_color_stop_chars</li>
<li>irc.look.item_away_message moved to weechat.look.item_away_message</li>
<li>irc.color.item_away moved to weechat.color.item_away</li>
</ul>Version 1.4urn:md5:02aaa2a0991a5f98b853ebeb9ca797f12016-01-10T10:10:00+01:002017-05-07T14:06:52+02:00Sébastien Helleucorerelease <p>Version <strong>1.4</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.4.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.4.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add a parent name in options, display inherited values if null in <code>/set</code> output</li>
<li>add option weechat.look.paste_auto_add_newline</li>
<li>add <code>/fifo</code> command</li>
<li>track real names using extended-join and WHO (IRC)</li>
<li>add support of SNI (Server Name Indication) in SSL connection to IRC server</li>
<li>add support of IRC "cap-notify" capability</li>
<li>add IRC command /cap</li>
<li>add hex dump of messages in raw buffer when debug is enabled for irc plugin</li>
<li>add option relay.irc.backlog_since_last_message</li>
<li>add option script.scripts.download_timeout</li>
<li>add scripts to build Debian packages</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>relay.irc.backlog_since_last_message</li>
<li>script.scripts.download_timeout</li>
<li>weechat.color.chat_value_null</li>
<li>weechat.look.paste_auto_add_newline</li>
</ul>
<p>Options changed:</p>
<ul>
<li>irc.network.alternate_nick moved into IRC servers (irc.server.xxx.nicks_alternate)</li>
</ul>Inherited option valuesurn:md5:2b81def58665c73ad7d24f4cd34c16812015-12-25T10:00:00+01:002019-11-04T21:39:03+01:00Sébastien Helleucoreircisetoptionserverset <p>Options can now have a parent option, and the value of option inherits from parent when it is null (if null is allowed).</p>
<p>For now, only IRC server options (<code>irc.server.<name>.xxx</code>) are inheriting from parent options (<code>irc.server_default.<name>.xxx</code>).</p>
<p>The command /set shows the inherited value (and the default inherited if the value is set to null).
Script iset.pl has been updated as well (version 4.0 supports this feature, and is compatible with old WeeChat).</p>
<p>Enjoy and Merry Christmas!</p>
<p>Screenshot of this new feature (click for full size):</p>
<p><a href="https://blog.weechat.org/public/weechat_set_inherited_values.png" title="weechat_set_inherited_values.png"><img src="https://blog.weechat.org/public/.weechat_set_inherited_values_m.png" alt="weechat_set_inherited_values.png" style="display:table; margin:0 auto;" title="Inherited option values" /></a></p>Version 1.3urn:md5:87e1de5c6e6c37e1c4500aaa18dbbe402015-08-16T09:07:00+02:002022-10-09T13:49:40+02:00Sébastien Helleucorerelease <p>Version <strong>1.3</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.3.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.3.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>keep scroll after interactive search in buffer</li>
<li>add optional confirmation on /upgrade</li>
<li>add signal "signal_sighup"</li>
<li>add IRC options irc.color.topic_current, irc.network.channel_encode</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.color.topic_current</li>
<li>irc.network.channel_encode</li>
<li>weechat.look.confirm_upgrade</li>
<li>weechat.look.key_grab_delay</li>
</ul>
<p>Options changed:</p>
<ul>
<li>script.scripts.dir renamed to script.scripts.path</li>
</ul>
<p>Keys changed:</p>
<ul>
<li>in search context (Ctrl+R):
<ul>
<li>Ctrl+R: search text/regex here (at scroll position)</li>
<li>Ctrl+J / Ctrl+M / Enter: stop search here (at scroll position)</li>
<li>Ctrl+Q: stop search and scroll to bottom of buffer</li>
</ul></li>
</ul>Version 1.2urn:md5:7ae7f4078e5db8a719f1f51609c136222015-05-10T10:19:00+02:002017-05-07T14:07:07+02:00Sébastien Helleucorerelease <p>Version <strong>1.2</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.2.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.2.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add options to customize word chars (for detecting word boundaries)</li>
<li>add a welcome message on first WeeChat run</li>
<li>add options to customize quoted messages (in cursor mode)</li>
<li>add support of environment variables in evaluated expressions</li>
<li>add support of IRC SASL mechanism "ecdsa-nist256p-challenge"</li>
<li>add support of SHA-256 and SHA-512 algorithms in IRC server option "ssl_fingerprint"</li>
<li>add support of IRC capability "account-notify"</li>
<li>remove "freenode" server from default config</li>
<li>new script plugin for javascript</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.server_default.sasl_key (and same option in servers)</li>
<li>plugins.var.javascript.check_license</li>
<li>weechat.look.quote_nick_prefix</li>
<li>weechat.look.quote_nick_suffix</li>
<li>weechat.look.quote_time_format</li>
<li>weechat.look.word_chars_highlight</li>
<li>weechat.look.word_chars_input</li>
</ul>Version 1.1.1urn:md5:35e646fee2222cdf9ec57748654e50522015-01-25T09:11:00+01:002017-05-07T14:07:15+02:00Sébastien Helleucorerelease <p>Version <strong>1.1.1</strong> is available!</p>
<p>This is a bug fix and maintenance release, see <a href="https://weechat.org/files/changelog/ChangeLog-1.1.1.html" hreflang="en">ChangeLog</a> for detail.</p>Version 1.1urn:md5:7af37630b25eaef60908d47cd43f5ad82015-01-11T11:16:00+01:002017-05-07T14:07:23+02:00Sébastien Helleucorerelease <p>Version <strong>1.1</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.1.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.1.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>complete inline commands in input</li>
<li>allow incomplete commands if unambiguous</li>
<li>improve speed of completions</li>
<li>add bar item and signals for mouse status</li>
<li>use bar conditions on root bars</li>
<li>add option "reorder" in command /server</li>
<li>open irc channel buffers before the join is received from server</li>
<li>add server option "sasl_fail"</li>
<li>add support for color codes 16-99 in IRC messages</li>
<li>disable SSLv3 by default</li>
<li>add support of IRC capability "extended-join"</li>
<li>add options "stop" and "start" in command /relay</li>
<li>use HTTPS by default in script plugin for downloads</li>
<li>add option "restore" in command /trigger</li>
<li>evaluate and replace regex groups at same time in trigger (new and incompatible format)</li>
<li>many bugs fixed.</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.look.buffer_open_before_autojoin</li>
<li>irc.look.buffer_open_before_join</li>
<li>irc.look.temporary_servers</li>
<li>irc.server_default.sasl_fail</li>
<li>relay.network.ssl_priorities</li>
<li>script.scripts.url_force_https</li>
<li>weechat.look.command_incomplete</li>
<li>weechat.look.item_mouse_status</li>
<li>weechat.color.status_mouse</li>
<li>weechat.completion.command_inline</li>
</ul>Version 1.0.1urn:md5:29d361f29cb8e8ec8b47c219cf3b7ea52014-09-28T09:41:00+02:002017-05-07T14:07:31+02:00Sébastien Helleucorerelease <p>Version <strong>1.0.1</strong> is available!</p>
<p>This is a bug fix and maintenance release, see <a href="https://weechat.org/files/changelog/ChangeLog-1.0.1.html" hreflang="en">ChangeLog</a> for detail.</p>Version 1.0urn:md5:54e17815fc923cad69db152980fbfb302014-08-15T12:41:00+02:002022-10-09T13:51:04+02:00Sébastien Helleucorerelease <p>Yay, version <strong>1.0</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-1.0.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-1.0.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>plugin "trigger": Swiss Army knife for WeeChat (replaces "rmodifier" plugin) (see <a href="https://blog.weechat.org/post/2014/02/10/Trigger-plugin">this post</a>)</li>
<li>plugin "exec": execute external commands (replaces script "shell.py") (see <a href="https://blog.weechat.org/post/2014/03/15/Exec-plugin">this post</a>)</li>
<li>bare display: easy click on long URLs and text selection with mouse (see <a href="https://blog.weechat.org/post/2014/02/16/Bare-display">this post</a>)</li>
<li>support of environment variables in /set command</li>
<li>hidden buffers</li>
<li>negated tags in filters</li>
<li>toggle of filters in specific buffers</li>
<li>flexible conditions for adding/removing buffers in hotlist</li>
<li>text search in buffers with free content</li>
<li>support of wildcard "*" inside masks</li>
<li>support of nested variables in evaluated expressions</li>
<li>tag with host in IRC messages displayed</li>
<li>support of "away-notify" IRC capability</li>
<li>IRC commands: /allpv, /remove, /unquiet</li>
<li>bar items: buffer_short_name, irc_nick_modes</li>
<li>unit tests</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.color.item_nick_modes</li>
<li>irc.look.join_auto_add_chantype</li>
<li>relay.network.clients_purge_delay</li>
<li>weechat.color.status_nicklist_count</li>
<li>weechat.look.bare_display_exit_on_input</li>
<li>weechat.look.bare_display_time_format</li>
<li>weechat.look.hotlist_add_conditions (replaces weechat.look.hotlist_add_buffer_if_away)</li>
<li>weechat.look.hotlist_remove</li>
</ul>
<p>Options changed:</p>
<ul>
<li>irc.look.item_channel_modes_hide_key renamed to irc.look.item_channel_modes_hide_args</li>
</ul>
<p>New keys:</p>
<ul>
<li>Alt+"-": toggle filters in current buffer</li>
<li>Alt+l (L): bare display</li>
<li>Alt+j, Alt+f: jump to first buffer</li>
</ul>Git repositories moved to GitHuburn:md5:186e9e46ece2761cca8e5a93a816dab92014-03-03T23:14:00+01:002014-03-08T22:07:06+01:00Sébastien Helleucoregitgithubrepository <p>WeeChat git repositories (weechat, scripts, qweechat) have been moved to GitHub, in WeeChat organization: <a href="http://github.com/weechat">http://github.com/weechat</a>.<br />
The git repositories on savannah are not updated any more (and will be removed in near future).</p>
<p>The GitHub issue tracker can now be used to report bugs and ask for feature requests.<br />
If the bug/task already exists in Savannah, you can complete/discuss it on Savannah, no need to open a new one on GitHub.</p>
<p>Pull requests are welcome in all repositories, including scripts (except for adding a script, the form on weechat.org must be used).</p>
<p>A page with <a href="https://github.com/weechat/weechat/wiki/Triggers">examples of triggers</a> has been added in weechat wiki.</p>Bare displayurn:md5:f8566b8a294eea60ce4bb45f7d444a4e2014-02-16T16:30:00+01:002022-10-09T13:51:35+02:00Sébastien Helleucorebarecopydisplaymouseterminalurl <p>A "bare" display mode has been added. This special mode displays only the current buffer, and no bars around (no title, nicklist, status, input, ...). <br />
It is designed for easy selection of text and <strong>click on long URLs</strong> (which are not broken at the end of lines, because ncurses is disabled in this mode).</p>
<p>A new key has been added: Alt+l (use <code>/key missing</code> to add the key), or this command: <code>/key bind meta-l /window bare</code>. <br />
You can also use a delay in seconds with command <code>/window bare</code>, for example 5 seconds: <code>/window bare 5</code>.</p>
<p>Two options have been added:</p>
<ul>
<li>weechat.look.bare_display_exit_on_input (default: on): by default any changes in input will return to standard display</li>
<li>weechat.look.bare_display_time_format (default: "%H:%M"): the format of time used in bare display.</li>
</ul>
<p>Bare display looks like this (click for full size):</p>
<p><a href="https://blog.weechat.org/public/weechat_bare_display.png" title="weechat_bare_display.png"><img src="https://blog.weechat.org/public/.weechat_bare_display_m.png" alt="weechat_bare_display.png" style="display:table; margin:0 auto;" title="Bare display" /></a></p>Version 0.4.3urn:md5:d96f395c385606797946cc3a4a2c29872014-02-09T10:59:00+01:002022-10-09T13:57:34+02:00Sébastien Helleucorerelease <p>Version <strong>0.4.3</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.4.3.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.4.3.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>new command /print</li>
<li>logical and/or for tags in /filter and hook_print</li>
<li>gaps in buffer numbers (see <a href="https://blog.weechat.org/blog/post/2013/12/11/Auto-renumber-of-buffers">this post</a>)</li>
<li>support of italic text</li>
<li>new options to customize default text search in buffers</li>
<li>use of IRC monitor command for /notify (if available on server)</li>
<li>new IRC server option "ssl_fingerprint"</li>
<li>new option to smart-filter IRC mode messages</li>
<li>new option for default IRC ban mask</li>
<li>support of IPv6 for DCC chat/file (see <a href="https://blog.weechat.org/blog/post/2014/01/09/CRC32-and-IPv6-in-xfer-plugin">this post</a>)</li>
<li>auto check CRC32 of files received with DCC (see <a href="https://blog.weechat.org/blog/post/2014/01/09/CRC32-and-IPv6-in-xfer-plugin">this post</a>)</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.look.notice_welcome_tags</li>
<li>irc.look.smart_filter_mode</li>
<li>irc.network.ban_mask_default</li>
<li>irc.network.lag_max</li>
<li>irc.server.xxx.default_msg_kick</li>
<li>irc.server.xxx.ssl_fingerprint</li>
<li>weechat.look.buffer_auto_renumber</li>
<li>weechat.look.buffer_position</li>
<li>weechat.look.buffer_search_case_sensitive</li>
<li>weechat.look.buffer_search_force_default</li>
<li>weechat.look.buffer_search_regex</li>
<li>weechat.look.buffer_search_where</li>
<li>weechat.look.item_buffer_zoom</li>
<li>weechat.look.tab_width</li>
<li>weechat.look.window_auto_zoom</li>
<li>xfer.file.auto_check_crc32</li>
</ul>
<p>Options changed:</p>
<ul>
<li>irc.look.highlight_tags renamed to irc.look.highlight_tags_restrict</li>
<li>weechat.look.set_title renamed to weechat.look.window_title</li>
</ul>
<p>New keys:</p>
<ul>
<li>Ctrl+C, v: reverse video (replaces Ctrl+C, r)</li>
<li>Ctrl+C, "_": underlined text (replaces Ctrl+C, u)</li>
</ul>Auto renumber of buffersurn:md5:41968b7d4e7dfa788c16f373224abd772013-12-11T19:49:00+01:002017-05-19T21:46:47+02:00Sébastien Helleucorebuffernumber <p>Auto renumber of buffers can now be disabled.</p>
<p>Two options have been added:</p>
<ul>
<li>weechat.look.buffer_auto_renumber</li>
<li>weechat.look.buffer_position</li>
</ul>
<p>A bar item has beed added as well:</p>
<ul>
<li>buffer_last_number</li>
</ul>
<p>When auto renumber is disabled, gaps between buffer numbers are allowed and the first buffer can have a number greater than 1.</p>
<p>Following options for command <code>/buffer</code> are affected when auto renumber is off:</p>
<ul>
<li><code>move</code>:
<ul>
<li>the current number will be left free for use, and the target number can be any number >= 1 (possibly higher than the current last buffer number)</li>
<li>the value can be "-" (which moves the buffer to number 1) or "+" (which moves the buffer to the end, ie last number + 1)</li>
</ul></li>
<li><code>swap</code>:
<ul>
<li>now the buffers are swapped in the list without being "moved"</li>
</ul></li>
<li><code>(+/-)N</code>:
<ul>
<li>it is now working with gaps in buffer numbers</li>
</ul></li>
<li><code>merge</code>:
<ul>
<li>it can now merge a group of merged buffers into another buffer (or buffers merged themselves)</li>
</ul></li>
</ul>Version 0.4.2urn:md5:514f40fc2c63280d0f1e785d079df9a12013-10-06T09:54:00+02:002022-10-09T13:52:34+02:00Sébastien Helleucorerelease <p>Version <strong>0.4.2</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.4.2.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.4.2.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>rename binary from "weechat-curses" to "weechat" (with symbolic link "weechat-curses" for compatibility) (see <a href="https://blog.weechat.org/blog/post/2013/08/02/Binary-and-man-page-renamed">this post</a>)</li>
<li>add secured data (encryption of passwords or private data), new command /secure, new file sec.conf (see <a href="https://blog.weechat.org/blog/post/2013/08/04/Secured-data">this post</a>)</li>
<li>search of regular expression in buffer with text emphasis, in prefixes, messages or both (see <a href="https://blog.weechat.org/blog/post/2013/08/17/Search-with-regex-and-text-emphasis">this post</a>)</li>
<li>add option "scroll_beyond_end" for command /window</li>
<li>add optional buffer context in bar items (for example to display bitlbee nicklist in a root bar)</li>
<li>new options weechat.look.hotlist_{prefix|suffix}</li>
<li>new option weechat.look.key_bind_safe to prevent any key binding error from user</li>
<li>new option weechat.network.proxy_curl to use a proxy when downloading URLs with curl</li>
<li>display day change message dynamically</li>
<li>support of wildcards in IRC commands (de)op/halfop/voice</li>
<li>new option irc.look.notice_welcome_redirect to redirect channel welcome notices to the channel buffer</li>
<li>new option irc.look.nick_color_hash: new hash algorithm to find nick colors (variant of djb2)</li>
<li>add info about things defined by a script in the detailed view of script (/script show)</li>
<li>support of enchant library in aspell plugin</li>
</ul>
<p>New options:</p>
<ul>
<li>aspell.color.suggestions</li>
<li>irc.look.nick_color_hash</li>
<li>irc.look.notice_welcome_redirect</li>
<li>irc.look.pv_tags</li>
<li>sec.crypt.cipher</li>
<li>sec.crypt.hash_algo</li>
<li>sec.crypt.passphrase_file</li>
<li>sec.crypt.salt</li>
<li>weechat.color.chat_day_change</li>
<li>weechat.color.emphasized</li>
<li>weechat.color.emphasized_bg</li>
<li>weechat.look.emphasized_attributes</li>
<li>weechat.look.hotlist_prefix</li>
<li>weechat.look.hotlist_suffix</li>
<li>weechat.look.key_bind_safe</li>
<li>weechat.network.proxy_curl</li>
<li>xfer.look.pv_tags</li>
</ul>
<p>Options changed:</p>
<ul>
<li>aspell.look.color renamed to aspell.color.misspelled</li>
<li>weechat.look.day_change_time_format split into two options: weechat.look.day_change_message_1date and weechat.look.day_change_message_2dates</li>
</ul>
<p>New keys:</p>
<ul>
<li>in search context (Ctrl+R):
<ul>
<li>Ctrl+I (tab): search in prefixes, messages or both</li>
<li>Ctrl+R: search text/regex</li>
<li>Alt+c: case (in)sensitive search</li>
</ul></li>
</ul>Search with regex and text emphasisurn:md5:8d4a2fc64109856e324c01b8007b74022013-08-17T16:40:00+02:002022-10-09T13:58:04+02:00Sébastien Helleucoreemphasisregexsearch <p>When searching text in buffer (with Ctrl+R), the matching text in lines is now emphasized, even if there are color codes in the line.</p>
<p>The search has been improved: it is now possible to search with a regular expression, and select where to search: in messages (default), prefixes or prefixes+messages.</p>
<p>The default key for search is still Ctrl+R and keys have been added/changed in the search context:</p>
<ul>
<li>Ctrl+R: switch search type: string/regex</li>
<li>Alt+c: switch exact case for search</li>
<li>Tab: switch search in messages/prefixes</li>
</ul>
<p>The new search prompt in input bar looks like this: <code>[Search (~ str,msg)]</code></p>
<p>Short description of content:</p>
<ul>
<li><code>~</code>: case insensitive search (default)</li>
<li><code>==</code>: case sensitive search</li>
<li><code>str</code>: search string (default)</li>
<li><code>regex</code>: search regular expression</li>
<li><code>msg</code>: search in messages (default)</li>
<li><code>pre</code>: search in prefixes</li>
<li><code>pre|msg</code>: search in prefixes and messages</li>
</ul>
<p>Happy search!</p>
<p><a href="https://blog.weechat.org/public/weechat_search_emphasis_regex.png" title="weechat_search_emphasis_regex.png"><img src="https://blog.weechat.org/public/.weechat_search_emphasis_regex_m.jpg" alt="weechat_search_emphasis_regex.png" style="display:table; margin:0 auto;" title="Regex search with text emphasis" /></a></p>Secured dataurn:md5:33500a86336325084ab7007fded46f572013-08-04T13:14:00+02:002014-01-30T10:57:25+01:00Sébastien Helleucoreencryptionpassword <p>Secured data has been added to WeeChat: you can now encrypt your passwords or private data in a new configuration file called "sec.conf".</p>
<p>This configuration file is read before any other file, and the values stored inside can be used in various WeeChat or plugins/scripts options.</p>
<p>To add secured data, you just have to set a passphrase (not mandatory, but recommended: this will encrypt data in sec.conf instead of plain text), and then add data, for example :</p>
<pre>/secure passphrase this is my passphrase
/secure set freenode mypassword</pre>
<p>And then you can use that in a server password, for example :</p>
<pre>/set irc.server.freenode.sasl_password "${sec.data.freenode}"</pre>
<p>For more info, see <code>/help secure</code>.</p>
<p><strong>Options for encryption</strong></p>
<p>You can use different cipher/hash algorithms, by setting following options:</p>
<ul>
<li>sec.crypt.hash_algo: algorithm for hash: sha224, sha256 (default), sha384, sha512</li>
<li>sec.crypt.cipher: cipher: aes128, aes192, aes256 (default)</li>
<li>sec.crypt.salt: use salt (recommended for maximum security)</li>
<li>sec.crypt.passphrase_file: file with the passphrase (optional)</li>
</ul>
<p>Note: the cipher block mode is CFB.</p>
<p><strong>The encryption</strong></p>
<p>It is done in 3 steps:</p>
<ol>
<li>derive a key from the passphrase (with optional salt)</li>
<li>compute hash of data to encrypt</li>
<li>encrypt the hash + data (output is: salt + encrypted hash/data)</li>
</ol>
<p>The result is put as hexadecimal string in file sec.conf.</p>
<p><strong>The decryption</strong></p>
<p>It is done in 3 steps:</p>
<ol>
<li>derive a key using salt and passphrase</li>
<li>decrypt hash + data</li>
<li>check that decrypted hash == hash of data</li>
</ol>Binary and man page renamedurn:md5:bac10262138107fd3779fe40db79b67f2013-08-02T08:59:00+02:002017-05-19T21:49:26+02:00Sébastien Helleucorebinaryman <p>WeeChat binary and man page have been renamed from "weechat-curses" to "weechat".<br /></p>
<p>You can read important info about that in <a href="https://weechat.org/files/releasenotes/ReleaseNotes-devel.html" hreflang="en" title="release notes">release notes</a>.</p>Happy birthday WeeChat!urn:md5:730ac89a543d38e3d12907b6743d90742013-06-26T18:03:00+02:002013-06-26T17:04:08+02:00Sébastien Helleucorebirthday <p>Happy birthday WeeChat, <strong>10</strong> years old!</p>
<p>I would like to thank all contributors for the help with translations, patches and ideas of features.<br />
All contributions and donations are <strong>much appreciated</strong>!</p>Version 0.4.1urn:md5:f15bf70884e63be2f85dd0b948e1f0bc2013-05-20T12:39:00+02:002017-05-19T21:51:57+02:00Sébastien Helleucorerelease <p>Version <strong>0.4.1</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.4.1.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.4.1.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>multiple layouts support (see <a href="https://blog.weechat.org/blog/post/2013/03/16/Multiple-layouts">this post</a>)</li>
<li>nick prefix/suffix are now dynamic (and managed by core instead of irc plugin) (see <a href="https://blog.weechat.org/blog/post/2013/05/01/Dynamic-nick-prefix-suffix">this post</a>)</li>
<li>unmask irc join if nick speaks some minutes after the join (see <a href="https://blog.weechat.org/blog/post/2013/02/17/The-IRC-smart-filter-even-smarter">this post</a>)</li>
<li>new option irc.look.display_join_message to disable some messages after joining a channel</li>
<li>new option irc.look.pv_buffer to automatically merge private buffers</li>
<li>add support of UHNAMES</li>
<li>add DH-AES encryption method for SASL</li>
<li>multiple irc servers allowed on same port for irc protocol in relay plugin</li>
<li>add WebSocket server support (RFC 6455) in relay plugin (for irc and weechat protocols) (see <a href="https://blog.weechat.org/blog/post/2013/02/10/WebSocket-in-relay-plugin">this post</a>)</li>
<li>send nicklist diff in relay plugin (weechat protocol)</li>
<li>add control of autoload for scripts</li>
<li>optimizations in aspell plugin</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.look.display_join_message</li>
<li>irc.look.nicks_hide_password (old option: irc.look.hide_nickserv_pwd)</li>
<li>irc.look.pv_buffer</li>
<li>irc.look.smart_filter_join_unmask</li>
<li>irc.network.lag_reconnect (old option: irc.network.lag_disconnect)</li>
<li>logger.file.nick_prefix</li>
<li>logger.file.nick_suffix</li>
<li>relay.network.websocket_allowed_origins</li>
<li>script.scripts.autoload</li>
<li>weechat.color.chat_nick_prefix</li>
<li>weechat.color.chat_nick_suffix</li>
<li>weechat.look.nick_prefix</li>
<li>weechat.look.nick_suffix</li>
<li>weechat.look.prefix_align_more_after</li>
<li>weechat.look.prefix_buffer_align_more_after</li>
<li>xfer.file.auto_accept_nicks</li>
</ul>Dynamic nick prefix/suffixurn:md5:d32d2737b9704d55467bf5b75b90c7e02013-05-01T11:07:00+02:002017-05-19T21:52:25+02:00Sébastien Helleucorenick <p>The prefix and suffix for nicks are now dynamic and not specific to irc plugin.</p>
<p>IRC options have been moved to core:</p>
<ul>
<li>irc.look.nick_prefix moved to weechat.look.nick_prefix</li>
<li>irc.look.nick_suffix moved to weechat.look.nick_suffix</li>
<li>irc.color.nick_prefix moved to weechat.color.chat_nick_prefix</li>
<li>irc.color.nick_suffix moved to weechat.color.chat_nick_suffix</li>
</ul>
<p>The prefix/suffix and colors are now applied on messages already displayed (because they are not stored any more in prefix of lines).</p>
<p>Two options have been added in logger plugin, to use a prefix/suffix for nicks (optional, empty by default):</p>
<ul>
<li>logger.file.nick_prefix</li>
<li>logger.file.nick_suffix</li>
</ul>
<p>You can find more information in <a href="https://weechat.org/files/releasenotes/ReleaseNotes-devel.html" hreflang="en" title="release notes">release notes</a>.</p>Multiple layoutsurn:md5:9d1efab697a2e171098f0027977b7b9f2013-03-17T08:13:00+01:002013-03-17T08:42:30+01:00Sébastien Helleucorelayout <p>Support of multiple layouts has been added.</p>
<p>The command <code>/layout</code> now supports a name for actions save/apply/reset.</p>
<p>New options have been added:</p>
<ul>
<li>leave: leave current layout (it will not update any layout)</li>
<li>rename: rename a layout</li>
</ul>
<p>The output of <code>/layout</code> has been improved, especially the tree of windows:</p>
<pre>Saved layouts:
mobile:
1. core.weechat
1. irc.server.local
2. irc.local.#test
3. irc.local.#test2
desktop (current layout):
1. core.weechat
1. irc.server.local
2. irc.local.#test
3. irc.local.#test2
\== 40% (splith)
|-- irc.local.#test
|== 50% (splitv)
|-- irc.server.local
|-- irc.local.#test2</pre>Debian/Raspbian repositoriesurn:md5:6e38d5181eb0122d3a605d4dcec74b632013-02-13T22:13:00+01:002019-11-04T21:43:51+01:00Sébastien Helleucoredebianraspberryraspbianrepository <p>A Raspbian repository has been added for Raspberry Pi (thanks to Nils G. for building the packages every night).</p>
<p>The existing Debian repositories are being moved from flashtux.org to weechat.org, like the new Raspbian one. Repositories on weechat.org are already available, therefore it is recommended to use them now.</p>
<p><strong>IMPORTANT:</strong> the WeeChat packages on debian.flashtux.org are still built every night, but they will be definitely removed on 2013-03-01.</p>
<p>A new section has been added on download page with a summary of all repositories: <a href="https://weechat.org/download/debian/" hreflang="en">https://weechat.org/download/debian/</a>.</p>
<p><a href="https://blog.weechat.org/public/weechat_debian_repositories.png" title="weechat_debian_repositories.png"><img src="https://blog.weechat.org/public/.weechat_debian_repositories_m.jpg" alt="weechat_debian_repositories.png" style="display:table; margin:0 auto;" title="Debian repositories" /></a></p>Version 0.4.0urn:md5:33d2111685c5badc3c5e11217f1d79b02013-01-20T11:36:00+01:002017-05-19T22:00:01+02:00Sébastien Helleucorerelease <p>Version <strong>0.4.0</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.4.0.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.4.0.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add option "diff" for command /set, display default values in output of /set</li>
<li>add color support in prefix options</li>
<li>add command /eval, use expression in conditions for bars</li>
<li>connect by default with IPv6 to servers with fallback to IPv4</li>
<li>add aspell suggestions</li>
<li>add support of tags in irc messages and "server-time" capability (see <a href="https://blog.weechat.org/blog/post/2012/11/27/Tags-in-IRC-messages">this post</a>)</li>
<li>add irc command /quiet</li>
<li>add support of IPv6 in relay plugin</li>
<li>add backlog for irc protocol in relay plugin (see <a href="https://blog.weechat.org/blog/post/2012/12/24/Backlog-for-irc-protocol-in-relay">this post</a>)</li>
<li>display remote IP address for DCC chat/file in xfer plugin</li>
<li>add git version in build (see <a href="https://blog.weechat.org/blog/post/2012/12/19/Git-version-in-build">this post</a>)</li>
</ul>
<p>New options:</p>
<ul>
<li>aspell.check.suggestions</li>
<li>irc.network.alternate_nick</li>
<li>irc.network.whois_double_nick</li>
<li>relay.network.ipv6</li>
<li>relay.irc.backlog_minutes</li>
<li>relay.irc.backlog_max_number</li>
<li>relay.irc.backlog_since_last_disconnect</li>
<li>relay.irc.backlog_tags</li>
<li>relay.irc.backlog_time_format</li>
</ul>Git version in buildurn:md5:17e34f76f8e529c300d4390378a898112012-12-19T19:18:00+01:002019-11-04T21:54:38+01:00Sébastien Helleucoregitversion <p>The git version (output of "git describe") has been added to WeeChat build. This version is displayed in /version (or /v), and is returned in IRC CTCP ("version" and "finger").</p>
<p>Note: the git version is set only when building a development version (not a stable release).</p>
<p>This is useful if you help people and want to know the exact version.</p>
<p>Screenshot:</p>
<p><img src="https://blog.weechat.org/public/weechat_version_git.png" alt="weechat_version_git.png" style="display:table; margin:0 auto;" title="Git version" /></p>Version 0.3.9.2urn:md5:0efdc441d7a295bb699297ac13e38afa2012-11-18T14:09:00+01:002020-02-20T22:31:46+01:00Sébastien Helleucorereleasesecurity <p>Version <strong>0.3.9.2</strong> is available, it fixes a <a href="https://weechat.org/doc/security/" hreflang="en" title="security problem">security problem</a>: untrusted command for function hook_process could lead to execution of commands, because of shell expansions.</p>
<p>Upgrade is <strong>highly recommended</strong> for all users.</p>Version 0.3.9.1urn:md5:5686215b391921dbe4fd509b133edf252012-11-09T19:55:00+01:002020-02-20T22:32:03+01:00Sébastien Helleucorereleasesecurity <p>Version <strong>0.3.9.1</strong> is available, it fixes a <a href="https://weechat.org/doc/security/" hreflang="en" title="security problem">security problem</a> (buffer overflow when decoding IRC colors in strings).</p>
<p>Upgrade is <strong>recommended</strong> for all users.</p>Version 0.3.9urn:md5:14c8bec80bda452ec6eeef8c12f7b3862012-09-29T10:30:00+02:002017-05-19T22:01:55+02:00Sébastien Helleucorerelease <p>Version <strong>0.3.9</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.3.9.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.3.9.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add plugin "script" (replacement of weeget.py and script.pl) (see <a href="https://blog.weechat.org/blog/post/2012/08/14/Scripts-manager">this post</a>)</li>
<li>add support of SSL in relay plugin (see <a href="https://blog.weechat.org/blog/post/2012/07/27/SSL-in-Relay-plugin">this post</a>)</li>
<li>add color for offline nicks</li>
<li>add system resource limits for WeeChat process</li>
<li>add zoom on merged buffer (default key: alt+"x")</li>
<li>add "Day changed to" in logger backlog</li>
<li>add command line option "-r" (or "--run-command") to run command(s) after startup of WeeChat</li>
<li>add option "swap" for command <code>/buffer</code></li>
<li>generate alternate IRC nicks dynamically (when all nicks are already in use)</li>
<li>fix rejoin of password protected IRC channels</li>
<li>fix freeze in irc and relay plugins with sockets</li>
<li>fix color of long lines (displayed on more than one line on screen) under FreeBSD</li>
<li>allow update for some variables of hdata</li>
<li>add japanese user's guide, scripting guide and tester's guide</li>
</ul>
<p>New options:</p>
<ul>
<li>weechat.startup.sys_rlimit</li>
<li>weechat.look.jump_smart_back_to_buffer</li>
<li>weechat.look.window_separator_horizontal</li>
<li>weechat.look.window_separator_vertical</li>
<li>weechat.look.color_nick_offline</li>
<li>weechat.color.chat_nick_offline_highlight</li>
<li>weechat.color.chat_nick_offline_highlight_bg</li>
<li>aspell.check.enabled</li>
<li>irc.look.ctcp_time_format</li>
<li>relay.network.ssl_cert_key</li>
<li>relay.color.client</li>
</ul>
<p>Options changed:</p>
<ul>
<li>weechat.look.nickmode renamed as irc.look.nick_mode (new type: integer with values: none/prefix/action/both)</li>
<li>weechat.look.nickmode_empty renamed as irc.look.nick_mode_empty</li>
</ul>
<p>Options removed:</p>
<ul>
<li>irc.look.item_channel_modes</li>
</ul>
<p>New keys:</p>
<ul>
<li>meta-x = "/input zoom_merged_buffer" (zoom on merged buffer)</li>
<li>meta-s = "/mute aspell toggle" (toggle aspell)</li>
</ul>
<p>Note: to add missing keys, you can use command <code>/key missing</code></p>Version 0.3.8urn:md5:f3122233acd5112c70b00605b9abbd772012-06-03T09:42:00+02:002017-05-19T22:02:27+02:00Sébastien Helleucorerelease <p>Version <strong>0.3.8</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.3.8.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.3.8.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>add terminal "bracketed paste mode" (see <a href="https://blog.weechat.org/blog/post/2012/03/10/Bracketed-paste-mode">this post</a>)</li>
<li>add IRC "external" SASL mechanism</li>
<li>improve parsing of IRC channel modes (do not send extra command "MODE" to server)</li>
<li>follow symbolic links for configuration files (*.conf)</li>
<li>new option weechat.look.prefix_same_nick (hide same prefix for multiple consecutive messages from same nick)</li>
<li>add colors for backlog lines</li>
<li>redirect IRC messages from clients to hide output (relay plugin, IRC protocol)</li>
<li>add a connection timeout for child process in hook_connect</li>
<li>fix display bugs and crashs with small windows</li>
<li>fix truncated configuration files (zero-length) after system crash</li>
</ul>
<p>New options:</p>
<ul>
<li>logger.color.backlog_line</li>
<li>logger.color.backlog_end</li>
<li>weechat.look.paste_bracketed</li>
<li>weechat.look.paste_bracketed_timer_delay</li>
<li>weechat.look.prefix_same_nick</li>
<li>weechat.network.connection_timeout</li>
</ul>
<p>Options changed:</p>
<ul>
<li>weechat.look.prefix_align_more (from boolean to string)</li>
<li>weechat.look.prefix_buffer_align_more (from boolean to string)</li>
</ul>
<p>New keys:</p>
<ul>
<li>meta2-200~ = "/input paste_start" (start of bracketed paste)</li>
<li>meta2-201~ = "/input paste_stop" (end of bracketed paste)</li>
</ul>
<p>Note: to add missing keys, you can use command <code>/key missing</code></p>4000 commitsurn:md5:cb12e2a3532d665446f8a957399c08602012-03-25T18:24:00+02:002017-05-19T22:02:59+02:00Sébastien Helleucoregit <p>I just made the 4000th commit for WeeChat, which is also the 600th commit for the past 12 months!</p>
<p>Commits by range: month: 56 year: <strong>600</strong> total: <strong>4000</strong></p>
<p>New page with statistics about Git repositories (core and scripts): <a href="https://weechat.org/dev/stats/">https://weechat.org/dev/stats/</a></p>Bracketed paste modeurn:md5:1710f4e56c54040476fed618d0908a862012-03-10T09:54:00+01:002012-03-10T09:55:52+01:00Sébastien Helleucorepasteterminal <p>The support for terminal <a href="http://www.xfree86.org/current/ctlseqs.html#Bracketed%20Paste%20Mode">bracketed paste mode</a> has been added. In this mode, pasted text is bracketed with control sequences so that WeeChat can differentiate pasted text from typed-in text (<code>ESC[200~</code>, followed by the pasted text, followed by <code>ESC[201~</code>).</p>
<p>New options:</p>
<ul>
<li>weechat.look.paste_bracketed: enable terminal "bracketed paste mode" (off by default)</li>
<li>weechat.look.paste_bracketed_timer_delay: force end of bracketed paste after this delay (in seconds) if control sequence for end of bracketed paste was not received in time (10 seconds by default)</li>
</ul>
<p>Changes on option weechat.look.paste_max_lines: now -1 is used to disable option (and new default value is 1 instead of 3). According to value, you have following behaviour:</p>
<ul>
<li>value -1: paste detection disabled (any paste is immediately inserted in input, without confirmation)</li>
<li>value 0: WeeChat will ask confirmation for any paste (even one char)</li>
<li>value N (>= 1): WeeChat will ask for at least N+1 lines</li>
</ul>
<p>When pasting one line with newline in bracketed paste mode, the newline at the end of paste is automatically removed (regardless the value of option weechat.look.paste_max_lines).</p>
<p>According to my tests the "bracketed paste mode" <strong>works fine</strong> with:</p>
<ul>
<li>terminals: rxvt-unicode (9.15), xterm (276), mintty (1.0.3)</li>
<li>multiplexer: screen (4.00.03)</li>
</ul>
<p>According to my tests it currently <strong>does not work</strong> with:</p>
<ul>
<li>terminals: putty like (planned, committed recently)</li>
<li>multiplexer: tmux (1.6) (planned, committed recently)</li>
</ul>
<p>Please comment this post if you have info about other terminals (supported or not).</p>Version 0.3.7urn:md5:cb85f9c179ba25f3073c683de4e11c782012-02-26T08:53:00+01:002017-05-19T22:11:02+02:00Sébastien Helleucorerelease <p>Version <strong>0.3.7</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.3.7.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.3.7.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>support of Scheme scripts (new plugin "guile") (see <a href="https://blog.weechat.org/blog/post/2011/10/27/New-plugin-Guile">this post</a>)</li>
<li>support of Python 3.x (but version 2.x still recommended) (see <a href="https://blog.weechat.org/blog/post/2012/01/03/Support-of-Python-3">this post</a>)</li>
<li>add "weechat" protocol in relay plugin for remote interfaces, like QWeeChat (see <a href="https://blog.weechat.org/blog/post/2011/12/25/QWeeChat-Python-Qt-GUI">this post</a>)</li>
<li>new option irc.color.mirc_remap to remap mirc colors in irc messages</li>
<li>new options irc.look.highlight_{server|channel|pv} to customize or disable default nick highlight</li>
<li>new option "capabilities" in irc servers (to enable some client capabilities on connection)</li>
<li>new option weechat.history.max_buffer_lines_minutes to limit buffer history by time</li>
<li>use extended regex in /filter, /ignore and /list</li>
<li>add support of flags in regular expressions and highlight options</li>
<li>add URL transfer in plugin API (with hook_process) (see <a href="https://blog.weechat.org/blog/post/2012/01/18/URL-transfer-in-API">this post</a>)</li>
<li>add translations in japanese</li>
<li>add doc for relay protocol</li>
<li>add developer's guide</li>
</ul>
<p>New options:</p>
<ul>
<li>irc.look.highlight_server</li>
<li>irc.look.highlight_channel</li>
<li>irc.look.highlight_pv</li>
<li>irc.look.mirc_remap</li>
<li>irc.server.xxx.capabilities</li>
<li>relay.network.allowed_ips</li>
<li>relay.network.compression_level</li>
<li>weechat.look.scroll_bottom_after_switch</li>
<li>weechat.completion.base_word_until_cursor</li>
<li>weechat.history.max_buffer_lines_minutes</li>
<li>weechat.history.max_buffer_lines_number (old name was weechat.history.max_lines)</li>
</ul>
<p>New default alias:</p>
<ul>
<li><code>/umode</code> --> <code>/mode $nick</code></li>
</ul>
<p>New keys:</p>
<ul>
<li>alt + "/": jump to last buffer displayed (<code>/input jump_last_buffer_displayed</code>)</li>
</ul>
<p>Note: to add missing keys, you can use command <code>/key missing</code></p>URL transfer in APIurn:md5:b3f88936d6d00da930f57e5e798779e22012-01-18T21:54:00+01:002012-01-18T21:55:07+01:00Sébastien Helleucoreapiurl <p>URL transfer has been added in API for plugins and scripts (using <a href="http://curl.haxx.se/libcurl/" hreflang="en" title="libcurl">libcurl</a>).</p>
<p>A new function has been added: "hook_process_hashtable". Behaviour is the same as "hook_process", but with an extra "options" (a hashtable).
To download URL content (html page or file), the syntax is (example is python):</p>
<pre>weechat.hook_process_hashtable('url:http://weechat.org/download/',
{ 'file_out': '/tmp/url.txt' },
10000, 'my_process_cb', '')</pre>
<p>This code will download URL in file "/tmp/url.txt" and call function "my_process_cb" when done, with return code:</p>
<ul>
<li>0: transfer ok</li>
<li>1: invalid URL</li>
<li>2: transfer error</li>
<li>3: not enough memory</li>
<li>4: error with a file</li>
</ul>
<p>It is possible to download URL without any option, then the output is on standard output of process (received as "out" in callback, possibly in many chunks, depending on page size):</p>
<pre>weechat.hook_process('url:http://weechat.org/download/', 10000, 'my_process_cb', '')</pre>QWeeChat - Python/Qt GUIurn:md5:e5b20758bb79f11ae55a6d4c6d221dd62011-12-25T13:07:00+01:002019-11-04T21:57:25+01:00Sébastien Helleucoreguipythonqtrelay <p>Christmas gift: "QWeeChat", the first remote interface for WeeChat. It is written in Python, using Qt toolkit.</p>
<p>This is an alpha version of this interface, only some features are implemented, but it's usable as-is.</p>
<p>The source code is available on <a href="https://weechat.org/download/devel">download page</a>, and requires latest development version of WeeChat. <br />
New versions will follow, as well as interfaces for other systems like mobile devices (first should be Android).</p>
<p>A screenshot of QWeeChat in action (click for full size):</p>
<p><a href="https://blog.weechat.org/public/qweechat_with_debug_2011-12-25.png"><img src="https://blog.weechat.org/public/./.qweechat_with_debug_2011-12-25_m.jpg" alt="Urlserver" style="display:table; margin:0 auto;" title="QWeeChat" /></a></p>
<p>Merry Christmas and happy new year 2012 with WeeChat and QWeeChat!</p>So many ways to go to first buffer...urn:md5:f27b140f8ac183c79b010ad9b0a27b0e2011-11-01T20:39:00+01:002022-10-09T13:58:50+02:00Sébastien Helleucorebuffer <ol>
<li>key Alt+1</li>
<li>key Alt+j, then 0, then 1</li>
<li>key F5 <sup> *</sup></li>
<li>key F6 <sup> *</sup></li>
<li>key Ctrl+p <sup> *</sup></li>
<li>key Ctrl+n <sup> *</sup></li>
<li>key Alt+Left <sup> *</sup></li>
<li>key Alt+Right <sup> *</sup></li>
<li>key Alt+Up <sup> *</sup></li>
<li>key Alt+Down <sup> *</sup></li>
<li>key Alt+a (if buffer #1 is first in hotlist)</li>
<li>left mouse button with long gesture to the left (with mouse enabled)</li>
<li>command <code>/buffer 1</code></li>
<li>command <code>/buffer core.weechat</code> (if core buffer is #1)</li>
<li>command <code>/buffer close 2-99999</code> (<strong>joke!</strong> - this will destroy all buffers and keep only buffer(s) with number 1)</li>
<li>command <code>/buffer move 1</code> (<strong>joke!</strong> - current buffer will become #1)</li>
</ol>
<p>There are other ways with scripts, but it's cheating!</p>
<p><sup>*</sup> : press key many times until you reach buffer #1.</p>Version 0.3.6urn:md5:cf23c00a3694461c6d70bf29ff40a12f2011-10-22T11:11:00+02:002017-05-19T22:25:01+02:00Sébastien Helleucorerelease <p>Version <strong>0.3.6</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.3.6.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.3.6.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>mouse support (see <a href="https://blog.weechat.org/blog/post/2011/07/26/Mouse-support-and-free-movement-of-cursor">this post</a>)</li>
<li>cursor mode (free movement of cursor on screen)</li>
<li>contexts for keys (default, search, cursor, mouse)</li>
<li>hdata in API (direct access to WeeChat data)</li>
<li>"inactive" colors for inactive windows and lines in merged buffers (see <a href="https://blog.weechat.org/blog/post/2011/09/23/Inactive-colors">this post</a>)</li>
<li>support of merged buffers in /layout, save layout of buffers/windows on /upgrade (see <a href="https://blog.weechat.org/blog/post/2011/08/06/New-features-for-layout">this post</a>)</li>
<li>horizontal scrolling in buffers with free content</li>
<li>split of outgoing IRC messages</li>
<li>options for "more" chars in bars</li>
<li>bold not used any more for basic colors (if terminal has more than 16 colors)</li>
<li>automatic zoom on current window when terminal becomes too small for windows</li>
<li>new command /repeat</li>
<li>local variable "highlight_regex" in buffers</li>
</ul>
<p>New options:</p>
<ul>
<li>weechat.look.bar_more_down</li>
<li>weechat.look.bar_more_left</li>
<li>weechat.look.bar_more_right</li>
<li>weechat.look.bar_more_up</li>
<li>weechat.look.color_basic_force_bold</li>
<li>weechat.look.color_inactive_buffer</li>
<li>weechat.look.color_inactive_message</li>
<li>weechat.look.color_inactive_prefix</li>
<li>weechat.look.color_inactive_prefix_buffer</li>
<li>weechat.look.color_inactive_time</li>
<li>weechat.look.color_inactive_window</li>
<li>weechat.look.eat_newline_glitch</li>
<li>weechat.look.item_buffer_filter</li>
<li>weechat.look.mouse</li>
<li>weechat.look.mouse_timer_delay</li>
<li>weechat.look.separator_horizontal</li>
<li>weechat.look.separator_vertical</li>
<li>weechat.color.chat_inactive_buffer</li>
<li>weechat.color.chat_inactive_window</li>
<li>weechat.color.chat_prefix_buffer_inactive_buffer</li>
<li>weechat.color.chat_tags</li>
<li>logger.file.flush_delay</li>
</ul>
<p>New keys:</p>
<ul>
<li>alt + "m": toggle mouse (<code>/mouse toggle</code>)</li>
</ul>
<p>New keys have been added for context "cursor" and "mouse", please see documentation.</p>
<p>Note: to add missing keys, you can use command <code>/key missing</code></p>Inactive colorsurn:md5:e477a9878f90757da368ce7048b3966c2011-09-23T18:30:00+02:002011-09-23T18:30:00+02:00Sébastien Helleucorecolors <p>New "inactive" colors have been added, to use a different text color for inactive windows or inactive lines (lines from merged buffer which is not selected).</p>
<p>Some options have been added to control display of inactive color, and of course inactive color themselves.</p>
<p>The first two options control wheter inactive colors are used for inactive windows or inactive lines in merged buffers:</p>
<ul>
<li><code>/set weechat.look.color_inactive_window</code> (default: off)</li>
<li><code>/set weechat.look.color_inactive_buffer</code> (default: off)</li>
</ul>
<p>Some options are used to specify if time/prefix_buffer/prefix/message will use inactive colors or not:</p>
<ul>
<li><code>/set weechat.look.color_inactive_time</code> (default: off)</li>
<li><code>/set weechat.look.color_inactive_prefix_buffer</code> (default: on)</li>
<li><code>/set weechat.look.color_inactive_prefix</code> (default: on)</li>
<li><code>/set weechat.look.color_inactive_message</code> (default: on)</li>
</ul>
<p>And finally, the three new colors used for inactive windows and inactive lines in merged buffers:</p>
<ul>
<li><code>/set weechat.color.chat_inactive_window</code> (default: darkgray, suggested: 245)</li>
<li><code>/set weechat.color.chat_inactive_buffer</code> (default: darkgray, suggested: 245)</li>
<li><code>/set weechat.color.chat_prefix_buffer_inactive_buffer</code> (default: darkgray, suggested: 58)</li>
</ul>Beautify your WeeChaturn:md5:08859a3b1536d55b81de5aea09f6b5d82011-08-28T16:38:00+02:002017-05-07T14:24:08+02:00Sébastien Helleucorecolors <p>Some tips to beautify your WeeChat, using unicode chars and some colors.</p>
<h4>Unicode chars (your locale must be UTF-8)</h4>
<p>A full line for separator between prefix (usually nick) and messages:</p>
<pre>/set weechat.look.prefix_suffix "│"</pre>
<p>Full line for read marker:</p>
<pre>/set weechat.look.read_marker_string "─"</pre>
<p>Arrows for join/quit (be careful, impact on log files):</p>
<pre>/set weechat.look.prefix_join "▬▬▶"
/set weechat.look.prefix_quit "◀▬▬"</pre>
<p>String for bar item "buffer_filter" (WeeChat >= 0.3.6):</p>
<pre>/set weechat.look.item_buffer_filter "•"</pre>
<p>"More" indicators in bars (WeeChat >= 0.3.6):</p>
<pre>/set weechat.look.bar_more_down "▼"
/set weechat.look.bar_more_left "◀"
/set weechat.look.bar_more_right "▶"
/set weechat.look.bar_more_up "▲"</pre>
<h4>Colors (for WeeChat >= 0.3.5 with a terminal supporting 256 colors)</h4>
<p>Time with gray shading, and no colon separator (WeeChat >= 0.3.5):</p>
<pre>/set weechat.look.buffer_time_format "${252}%H${245}%M${240}%S"</pre>
<p>Note: <strong>updated in WeeChat 0.4.2</strong>, the syntax is now:</p>
<pre>/set weechat.look.buffer_time_format "${color:252}%H${color:245}%M${color:240}%S"</pre>
<p>Another "blue" for background of title and status bars:</p>
<pre>/set weechat.bar.title.color_bg 60
/set weechat.bar.status.color_bg 60</pre>
<p>Some dark colors for delimiters, host,...:</p>
<pre>/set weechat.color.chat_delimiters 29
/set weechat.color.chat_host 24
/set weechat.color.chat_prefix_suffix 24
/set weechat.color.nicklist_away 244
/set weechat.color.separator 60
/set irc.color.reason_quit 244
/set irc.color.topic_new 36
/set irc.color.topic_old 244</pre>
<p>More nick colors: add for example "31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,247" to nick colors:</p>
<pre>/set weechat.color.chat_nick_colors "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue,31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,247"</pre>New features for layouturn:md5:2a94bed82293964648c61a5b0e1910582011-08-06T11:14:00+02:002011-08-06T10:24:22+02:00Sébastien Helleucorelayout <p>The layout has improved, here is the list of new features and a bug fixed:</p>
<ul>
<li>merged buffers are now supported in layout: WeeChat will auto merge buffers when they are opened and on <code>/layout apply</code></li>
<li>the layout for windows and buffers is automatically restored after <code>/upgrade</code> (not the layout saved, but the layout you had immediately before doing <code>/upgrade</code>)</li>
<li>an <a href="http://savannah.nongnu.org/bugs/?26110">old bug</a> was causing bad order of buffers when connecting to many servers at same time, and then <code>/layout apply</code> was required after starting WeeChat</li>
</ul>
<p>Enjoy!</p>Mouse support and free movement of cursorurn:md5:a77bf85adec49eecb69f0c21e36e57a52011-07-26T17:49:00+02:002017-05-07T14:24:56+02:00Sébastien Helleucoremouse <p>Mouse support has been added to WeeChat, and a "cursor" mode: a mode when you can move cursor everywhere and do actions with keys on focused area.</p>
<p>New commands added:</p>
<pre>/mouse
/cursor</pre>
<p>Before using mouse, add missing keys:</p>
<pre>/key missing</pre>
<p>Mouse events (clicks on buttons, gestures) are caught as special "keys", in context "mouse".
For a list of default events, you can look at documentation (default keys) or output of this command in WeeChat:</p>
<pre>/key list mouse</pre>
<p>Mouse is not enabled by default. To enable it (at startup and now), do:</p>
<pre>/set weechat.look.mouse on
/mouse enable</pre>
<p>When mouse is enabled, you can use shift+selection or shift+buttons to select/paste text (like when mouse is disabled). Note that on some terminals like iTerm, you may have to use alt instead of shift. <br />
New key alt+m will toggle mouse on/off.</p>
<p>Finally, thanks to Nei for his <a href="http://anti.teamidiot.de/static/nei/*/Code/WeeChat/">scripts</a>, the mouse support in WeeChat is partially based on them.</p>
<p>Mouse support will be improved in near future, for example interactions with words/messages in chat area (select text, click on URLs, ..). <br />
Stay tuned!</p>Highlight with regex in specific buffersurn:md5:268d9763dba0ab35a995affff47516542011-06-15T20:00:00+02:002017-05-19T22:26:26+02:00Sébastien Helleucorebufferhighlightregex <p>A local variable "highlight_regex" has been added in buffers.</p>
<p>It is recommended to use script <a href="https://weechat.org/scripts/source/stable/buffer_autoset.py">buffer_autoset.py</a> to set it, so that it's saved and set at any time when buffer is created.</p>
<p>However, it's still possible to set it manually (for testing) with command: <code>/buffer set highlight_regex XXX</code>.</p>
<p>For example, to highlight all messages on server freenode, channel #test:</p>
<pre>/autosetbuffer add irc.freenode.#test highlight_regex .*</pre>Version 0.3.5urn:md5:f61594825943d015d57f797086fdb0f82011-05-15T09:45:00+02:002017-05-19T22:33:14+02:00Sébastien Helleucorerelease <p>Version <strong>0.3.5</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.3.5.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.3.5.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>256 colors support improved (dynamic allocation of colors) (see <a href="https://blog.weechat.org/blog/post/2011/02/03/Dynamic-color-pairs">this post</a>)</li>
<li>attributes for colors (bold/reverse/underline) (see <a href="https://blog.weechat.org/blog/post/2011/02/17/Attributes-for-colors">this post</a>)</li>
<li>better scroll of input (with long text)</li>
<li>output of /help improved for list of commands and their arguments (see <a href="https://blog.weechat.org/blog/post/2011/02/09/Help-of-commands-improved">this post</a>)</li>
<li>remember scroll position of buffers in windows</li>
<li>list of buffers in filters (see <a href="https://blog.weechat.org/blog/post/2011/03/09/List-of-buffers-in-filters">this post</a>)</li>
<li>count of messages in hotlist buffers (see <a href="https://blog.weechat.org/blog/post/2011/04/11/Count-of-messages-in-hotlist">this post</a>)</li>
<li>swap buffers of windows</li>
<li>balance of windows</li>
<li>new API function to set help on plugin/script options</li>
<li>speller options in aspell plugin (see <a href="https://blog.weechat.org/blog/post/2011/04/15/Options-for-aspell-spellers">this post</a>)</li>
<li>option for SSL priorities in IRC servers</li>
<li>color nicks in nicklist and output of /names</li>
</ul>
<p>New options:</p>
<ul>
<li>weechat.look.hotlist_add_buffer_if_away</li>
<li>weechat.look.hotlist_buffer_separator</li>
<li>weechat.look.hotlist_count_max</li>
<li>weechat.look.hotlist_count_min_msg</li>
<li>weechat.color.status_count_msg</li>
<li>weechat.color.status_count_private</li>
<li>weechat.color.status_count_highlight</li>
<li>weechat.color.status_count_other</li>
<li>weechat.look.highlight_tags</li>
<li>weechat.look.read_marker_string</li>
<li>weechat.look.input_cursor_scroll</li>
<li>weechat.look.color_pairs_auto_reset</li>
<li>irc.color.topic_old</li>
<li>irc.color.topic_new</li>
<li>irc.color.nick_prefixes</li>
<li>irc.look.buffer_switch_autojoin</li>
<li>irc.look.buffer_switch_join</li>
<li>irc.look.smart_filter_nick</li>
<li>irc.look.color_nicks_in_nicklist</li>
<li>irc.look.color_nicks_in_names</li>
</ul>
<p>New keys:</p>
<ul>
<li>alt + "w", alt + "b": balance the sizes of all windows (<code>/window balance</code>)</li>
<li>alt + "w", alt + "s": swap buffers of two windows (<code>/window swap</code>)</li>
</ul>
<p>Note: to add missing keys, you can use command <code>/key missing</code></p>Count of messages in hotlisturn:md5:f573fe4444181d436f69e2b5769b8cfb2011-04-11T19:00:00+02:002021-11-08T22:22:03+01:00Sébastien Helleucorehotlist <p>Count of messages (by priority) has been added to hotlist.</p>
<p>New options:</p>
<ul>
<li><code>/set weechat.look.hotlist_buffer_separator</code> (default: ", ")</li>
<li><code>/set weechat.look.hotlist_count_max</code> (default: 2)</li>
<li><code>/set weechat.look.hotlist_count_min_msg</code> (default: 2)</li>
<li><code>/set weechat.color.status_count_msg</code> (default: "brown")</li>
<li><code>/set weechat.color.status_count_private</code> (default: "green")</li>
<li><code>/set weechat.color.status_count_highlight</code> (default: "magenta")</li>
<li><code>/set weechat.color.status_count_other</code> (default: "default")</li>
</ul>
<p>Example with default config:</p>
<p><a href="https://blog.weechat.org/public/weechat_hotlist_count_messages_2011-04-11.png"><img src="https://blog.weechat.org/public/.weechat_hotlist_count_messages_2011-04-11_m.jpg" alt="Count of messages in hotlist" style="display:table; margin:0 auto;" title="Count of messages in hotlist" /></a></p>
<p>(2 highlights and 5 messages on #test, 1 highlight and 1 private message from FlashCode)</p>List of buffers in filtersurn:md5:6fc7588629d3f1a3b6fb1b58b03163552011-03-09T19:00:00+01:002011-03-09T19:00:00+01:00Sébastien Helleucorefilter <p>It is now possible to use a list of buffers in filters. Exclusion of buffers is allowed using prefix "!".</p>
<p>Example: add IRC smart filter on all freenode channels, but not channels beginning with "#private":</p>
<pre>/filter add irc_smart irc.freenode.*,!*#private* irc_smart_filter *</pre>Attributes for colorsurn:md5:b19e998a12966533c96d076579d79a602011-02-17T20:00:00+01:002017-05-07T14:25:51+02:00Sébastien Helleucorecolors <p>Attributes have been added for color options. List of supported attributes:</p>
<ul>
<li>"<code>*</code>": bold</li>
<li>"<code>!</code>": reverse</li>
<li>"<code>_</code>": underline</li>
</ul>
<p>Attributes are optional and can be added before color name/number/alias.</p>
<p>For self nick as white underlined:</p>
<pre>/set weechat.color.chat_nick_self _white</pre>
<p>For time in status bar as orange underlined with bold:</p>
<pre>/set weechat.color.status_time *_214</pre>Help of commands improvedurn:md5:1d70c1001102bc8719bc4d7727a46d732011-02-09T20:00:00+01:002011-02-11T14:59:22+01:00Sébastien Helleucorehelp <p>The list of commands in <code>/help</code> commands has been improved.</p>
<p>By default it's now a short list (only names of commands), and long list is possible with option <code>-listfull</code>. Moreover, it is possible to list commands for one plugin (or core) only.</p>
<p>Example of short list for irc plugin: <code>/help -list irc</code></p>
<pre>[irc]
admin deop join mode part samode stats voice
allchan devoice kick motd ping sanick summon wallchops
allserv die kickban msg pong sapart time wallops
ban disconnect kill names query saquit topic who
connect halfop links nick quote server trace whois
ctcp ignore list notice reconnect service unban whowas
cycle info lusers notify rehash servlist userhost
dcc invite map op restart squery users
dehalfop ison me oper sajoin squit version</pre>
<p>Example of long list for core commands: <code>/help -listfull irc</code></p>
<pre>[irc]
admin - find information about the administrator of the server
allchan - execute a command on all channels of all connected servers
allserv - execute a command on all connected servers
ban - ban nicks or hosts
connect - connect to IRC server(s)
ctcp - send a CTCP message (Client-To-Client Protocol)
cycle - leave and rejoin a channel
dcc - start a DCC (file transfer or direct chat)
dehalfop - remove channel half-operator status from nick(s)
deop - remove channel operator status from nick(s)
devoice - remove voice from nick(s)
...</pre>
<p>Moreover, display of command arguments in <code>/help <command></code> has been improved.</p>
<p>Old version: <code>/help server</code></p>
<pre>[irc] /server [list [servername]] | [listfull [servername]] | [add servername hostname[/port] [-temp] ...</pre>
<p>New version: <code>/help server</code></p>
<pre>[irc] /server list|listfull [<server>]
add <server> <hostname>[/<port>] [-temp] [-<option>[=<value>]] [-no<option>]
copy|rename <server> <new_name>
del|keep <server>
deloutq|jump|raw</pre>Dynamic color pairsurn:md5:22630799cd2308bab130da08fe0d8abd2011-02-03T19:00:00+01:002011-02-03T19:00:00+01:00Sébastien Helleucorecolors <p>WeeChat now creates color pairs dynamically: when a color (foreground + background) is used on screen, a pair is created if it does not yet exist in pairs table.</p>
<p>Therefore, it's not needed any more to use <code>/color add</code> to add colors to use them in options.
It is possible to use any terminal color by number in options.
However, you can still create an alias on number with command <code>/color alias</code>.</p>Version 0.3.4urn:md5:3c23d31e1fb4a250922e94d3f4be3a782011-01-16T10:36:00+01:002017-05-20T07:40:43+02:00Sébastien Helleucorerelease <p>Version <strong>0.3.4</strong> is available!</p>
<p>As usual, many new features and bug fixes, see <a href="https://weechat.org/files/changelog/ChangeLog-0.3.4.html" hreflang="en">ChangeLog</a> for detail.</p>
<p><strong>Important</strong>: please read the <a href="https://weechat.org/files/releasenotes/ReleaseNotes-0.3.4.html" hreflang="en">release notes</a> if you are upgrading to this version (from any other version).</p>
<p>New major features in this release:</p>
<ul>
<li>256 colors support, with unlimited number of nick colors (see <a href="https://blog.weechat.org/blog/post/2011/01/09/256-colors">this post</a>)</li>
<li>irc proxy (relay plugin)</li>
<li>redirection of IRC commands (see <a href="https://blog.weechat.org/blog/post/2010/11/08/Redirection-of-IRC-commands">this post</a>)</li>
<li>new irc command <code>/notify</code></li>
<li>rmodifier plugin (see <a href="https://blog.weechat.org/blog/post/2010/10/06/New-plugin-rmodifier">this post</a>)</li>
<li>regular expressions for highlights</li>
<li>color support for timestamp in chat buffer (see <a href="https://blog.weechat.org/blog/post/2010/12/07/Colored-time-for-messages">this post</a>)</li>
<li>irc option to force color for some nicks</li>
<li>share input line between buffers</li>
</ul>
<p>New options:</p>
<ul>
<li>weechat.color.chat_nick_colors</li>
<li>weechat.look.highlight_regex</li>
<li>weechat.look.hotlist_unique_numbers</li>
<li>weechat.look.input_share</li>
<li>weechat.look.input_share_overwrite</li>
<li>weechat.look.prefix_align_min</li>
<li>irc.look.notify_tags_ison</li>
<li>irc.look.notify_tags_whois</li>
<li>irc.network.notify_check_ison</li>
<li>irc.network.notify_check_whois</li>
<li>option "notify" in irc servers</li>
<li>irc.look.nick_color_force</li>
<li>irc.look.item_away_message</li>
<li>irc.color.nick_prefix</li>
<li>irc.color.nick_suffix</li>
</ul>256 colorsurn:md5:972a3623380cc7a4d72afcf6fe4ec92b2011-01-09T12:37:00+01:002019-11-04T22:02:29+01:00Sébastien Helleucorecolors <p>WeeChat now supports 256 colors!</p>
<p>Using new command <code>/color</code> you can browse WeeChat and terminal colors, and define custom pairs.
See documentation for more information.</p>
<p>Screenshot (click for full size):</p>
<p><a href="https://blog.weechat.org/public/weechat_256colors_2011-01-09.png"><img src="https://blog.weechat.org/public/.weechat_256colors_2011-01-09_m.jpg" alt="256 colors" style="display:table; margin:0 auto;" title="256 colors" /></a></p>Colored time for messagesurn:md5:fb0fd7a8355458f3d3839c302ab443092010-12-07T22:58:00+01:002019-11-04T22:02:51+01:00Sébastien Helleucorebuffertime <p>It is now possible to add color in time displayed for each line in formated buffers.</p>
<p>Option weechat.look.buffer<sub>time</sub>format now supports colors with format: "${xxx}" where "xxx" is a color name (lightblue, red, ...) or a number (for example: "214" for orange).</p>
<p>Note: <strong>updated in 0.4.2</strong>, the syntax is now: "${color:xxx}".</p>
<p>Screenshot of colored time, with french flag colors:</p>
<p><a href="https://blog.weechat.org/public/weechat_french_time.png"><img src="https://blog.weechat.org/public/.weechat_french_time_m.jpg" alt="French time" style="display:table; margin:0 auto;" title="French time, déc. 2010" /></a></p>