WeeChat is a light-weight and fast cross-platform chat client. It primarily supports IRC and runs on the console, albeit there are graphical frontends (HTML5, JavaScript, Emacs, Android). It supports IPv6, Socks5, SASL, SSL certificates and SSH, can function as IRC proxy, spell checking, 256 colors. And it's highly extensible via Python, Lua, TCL, Guile, Ruby and Perl scripts in addition to C plugins. There are extensions for Jabber/XMPP or Twitter for instance.
Homepage
Download
Recent Releases
3.320 Sep 2021 03:15
minor feature:
Core: change key Alt+h to Alt+h, Alt+c (clear hotlist).
Core: add options "hotlist_remove_buffer", "hotlist_restore_buffer" and "hotlist_restore_all" in command /input, add default keys Alt+h, Alt+m (remove buffer), Alt+h, Alt+r (restore hotlist in current buffer) and Alt+h, Alt+Shift+R (restore hotlist in all buffers).
Core: add option "certs" in command /de.
Core: add options "-o", "-ol", "-i" and "-il" in command "/plugin list".
Api: add split of string and shell arguments in evaluation of expressions with "split:number,seps,flags,xxx" and "split_shell:number,xxx".
Api: add re:repl_index to get the index of replacement in function string_eval_expression.
Api: add random integer number in evaluation of expressions with "random:min,max".
Api: add function string_cut.
Api: add function file_copy.
Api: remember insertion order in hashtables.
Api: add keys/values with tags in output of irc_message_parse_to_hashtable.
Irc: add option "-parted" in command /allchan.
Irc: allow signals "irc_raw_in" and "irc_in" to eat messages.
Irc: implement IRCv3.2 SASL authentication, add command /auth, reconnect by default to the server in case of SASL authentication failure ().
Irc: add support of capability "message-tags" and TAGMSG messages.
Irc: enable all capabilities by default (if supported by server and WeeChat), change default value of option irc.server_default.capabilities to "*" ().
Irc: add options irc.look.display_account_message and irc.look.display_extended_join ().
Irc: add command /setname, add support of message and capability "setname".
Irc: always set realname in nicks even when extended-join capability is not enabled.
Irc: add support of FAIL/WARN/NOTE messages.
Irc: drop support of DH-BLOWFISH and DH-AES SASL mechanisms ().
Typing: new plugin "typing": display users currently writing messages on IRC channel/private buffers.
Core: decoding of attributes in basic ANSI colors.
Api: function string_match with joker in the string if multiple words matched in input s
3.214 Jun 2021 03:15
minor feature:
Core: use XDG directories by default (config, data, cache, runtime).
Core: add option weechat.network.gnutls_ca_system, rename option weechat.network.gnutls_ca_file to weechat.network.gnutls_ca_user (now evaluated), delete and reload certificates when options are changed ().
Core: evaluate option weechat.plugin.path, change default value to " weechat_data_dir /plugins".
Core: add options to customize commands executed on system signals received (SIGHUP, SIGQUIT, SIGTERM, SIGUSR1, SIGUSR2).
Core: quit WeeChat by default when signal SIGHUP is received in normal run, reload configuration in weechat-headless.
Core: add signals "cursor_start" and "cursor_end".
Api: add function crypto_hmac.
Api: add translated string in evaluation of expressions with "translate:xxx".
Api: add evaluation of WeeChat directories with " weechat_xxx_dir " in evaluated strings.
Api: add optional key "directory" in hashtable options of function/modifier string_eval_path_home.
Api: add supported pre" weechat_xxx_dir " in function mkdir_home.
Api: add infos "weechat_config_dir", "weechat_data_dir", "weechat_cache_dir" and "weechat_runtime_dir".
Api: add support of pointer names in function string_eval_expression (direct and in hdata).
Api: add info "weechat_daemon".
Buflist: add option buflist.format.tls_version.
Fifo: change default value of option fifo.file.path to " weechat_runtime_dir /weechat_fifo_ info:pid ".
Irc: add support of SASL mechanisms SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512.
Irc: add variable " target " (target nick) in commands /kick and /kickban.
Irc: add bar item "tls_version", add options irc.color.item_tls_version_ok, irc.color.item_tls_version_deprecated and irc.color.item_tls_version_insecure.
Irc: evaluate server options "sasl_key" and "ssl_cert".
Logger: change default value of option logger.file.path to " weechat_data_dir /logs".
Python: add stub for WeeChat API.
Relay: evaluate option relay.network.ssl_cert_key, change default value to " weechat_config_dir /ssl/rel
3.2-rc105 Jun 2021 03:15
minor feature:
Core: add options weechat.look.hotlist_update_on_buffer_switch and weechat.look.read_marker_update_on_buffer_switch (, ).
Core: add option sec.crypt.passphrase_command to read passphrase from an external program on startup, remove option sec.crypt.passphrase_file ().
Core: improve dein command /eval: display more verbose dewith two "-d", add indentation and colors.
Core: add options "setvar" and "delvar" in command /buffer, rename option "localvar" to "listvar".
Core: add buffer local variable "completion_default_template" (evaluated) to override the value of option "weechat.completion.default_template".
Core: add option "recreate" in command /filter.
Core: add raw string in evaluation of expressions with "raw:xxx".
Core: add evaluation of conditions in evaluation of expressions with "eval_cond:xxx".
Api: add info_hashtable "secured_data".
Irc: add info "irc_is_message_ignored".
Irc: add server option "default_chantypes", used when the server does not send them in message 005.
Trigger: add variable " tg_trigger_name " in command trigger evaluated strings.
Core: quoted line in cursor mode.
Core: wrong size of the new window after vertical split.
Core: do not remove quotes in arguments of command /eval as they can be part of the evaluated expression/condition.
Core: display an error when the buffer is not found with command /command -buffer.
Buflist: add option buflist.look.use_items to speed up display of buflist.
Irc: add bar item "irc_nick_pre".
Irc: separator between nick and host in bar item "irc_nick_host".
Irc: completion of commands /halfop and /dehalfop.
do not build weechat-headless man page if headless binary is disabled.
3.116 Mar 2021 07:41
minor feature:
Complete inline commands in input.
Allow incomplete commands if unambiguous.
Improve speed of completions.
Add bar item and signals for mouse status.
Use bar conditions on root bars.
Add option "reorder" in command /server.
Open irc channel buffers before the join is received from server.
Add server option "sasl_fail".
Add support for color codes 16-99 in IRC messages.
Disable SSLv3 by default.
Add support of IRC capability "extended-join".
Add options "stop" and "start" in command /relay.
Use HTTPS by default in script plugin for downloads.
Add option "restore" in command /trigger.
Evaluate and replace regex groups at same time in trigger (new and
incompatible format).
Many bugs fixed.
1.112 Jan 2015 06:25
major feature:
Complete inline commands in input.
Allow incomplete commands if unambiguous.
Improve speed of completions.
Add bar item and signals for mouse status.
Use bar conditions on root bars.
Add option "reorder" in command /server.
Open irc channel buffers before the join is received from server.
Add server option "sasl_fail".
Add support for color codes 16-99 in IRC messages.
Disable SSLv3 by default.
Add support of IRC capability "extended-join".
Add options "stop" and "start" in command /relay.
Use HTTPS by default in script plugin for downloads.
Add option "restore" in command /trigger.
Evaluate and replace regex groups at same time in trigger (new and
incompatible format).
Many bugs fixed.
1.016 Aug 2014 08:04
minor feature:
New plugins include "trigger", a swiss army knife for WeeChat (replaces rmodifier), and the "exec" module for chaining to external programs (replaces shell.py). It now supports plain text and URL selection with the mouse, setting environment variables per /set command, hidden buffers, negated tags in filters and toggling them in specific buffers. Flexible conditions for adding/removing buffers in hotlist. Text search in buffers works with free content. Support of wildcard "*" inside masks, and support of nested variables in evaluated expressions.
Tag with host in IRC messages displayed.
Support of "away-notify" IRC capability.
New IRC commands: /allpv, /remove, /unquiet.
Bar items: buffer_short_name, irc_nick_modes.
Unit tests were introduced and hence many bugs fixed.