Among the new features:
- add option logger.file.color_lines (support of ANSI color codes in log files)
- add filters on IRC raw buffer
- add IRC server option "ssl_password"
- add option irc.look.display_pv_warning_address
- add options irc.color.message_kick and irc.color.reason_kick
- add option xfer.file.download_temporary_suffix
- add option weechat.look.nick_color_hash_salt
- add different WeeChat icons sizes
- add calculation of expression in evaluation of expressions with "calc:xxx"
- add optional default path (evaluated) in completion "filename"
- add modifier "color_encode_ansi"
- add support of Guile 2.2
- add support of Python 3.8
- many bugs fixed.
== Version 2.6 (2019-09-08)
New features::
* core: add support of 32767 color pairs (issue #1343, issue #1345)
* core: add option "close" in command /window (issue #853)
* api: add infos "term_colors" and "term_color_pairs"
* api: add function list_user_data (issue #666)
* api: add argument "strip_items" in function string_split
* buflist: add infolist "buflist" with list of buffer pointers (issue #1375)
* exec: evaluate option exec.command.shell, change default value to "${env:SHELL}" (issue #1356)
* fset: add filters "h=xxx" and "he=xxx" to filter options by description (translated or in English)
* irc: make command char optional in server option "command" (issue #615)
* irc: add variables "user_max_length" and "host_max_length" in server structure (issue #1387)
Bug fixes::
* core: use fixed-width integer for computing nick and hashtable DJB2 key hashes, add values "djb2_32" and "sum_32" for option weechat.look.nick_color_hash (issue #1394)
* core: create or update option weechat.notify.xxx when function buffer_set is called with "notify" property (issue #1390)
* core: fix memory leak in case of error when building content of bar item for display (issue #1384)
* core: send command line parameter to plugins only if the name starts with the plugin name followed by a colon
* core: auto disable upgrade process (command line option "--upgrade") if the file weechat.upgrade is not found
* core: replace newlines by spaces in argument "completion" of function hook_command (issue #538)
* core: replace char "," by "~" in color codes to separate foreground from background (issue #1264)
* alias: remove default aliases /AME and /AMSG (issue #1355)
* buflist: use extra variables in option buflist.look.display_conditions (issue #1393)
* irc: fix parsing of messages 346 (invite list), 348 (exception list), 367 (ban list) and 728 (quiet list) when there is a colon before the timestamp (issue #1396)
* irc: fix memory leak when removing a server
* irc: fix length of user/nick/host in split of messages (issue #1387)
* irc: quote NICK command argument sent to the server only if there's a ":" in the nick (issue #1376, issue #1319)
* irc: return all arguments in the PONG response to a PING (issue #1369)
* irc: disable server reconnection when the server buffer is closed (issue #236)
* irc: strip spaces at beginning/end of addresses in server option "addresses" (issue #195)
* irc: fix display of enabled/disabled client capabilities received in command CAP ACK (issue #151)
* ruby: fix conversion of big integers on 32bit architecture (issue #1395)
Tests::
* unit: add tests on IRC ignore, message and nick functions
Build::
* core: fix compilation with autotools on FreeBSD 12.0
* debian: disable Javascript plugin on Debian Buster/Bullseye (issue #1374)
* python: compile with Python 3 by default
* python: use pkg-config to detect Python (issue #1382)
expense of causing problems due to pkgsrc infrastructure not hiding a base
curses well enough.
We now search in the following order:
ncursesw, curses, ncurses.
With cmake under pkgsrc, it will search your /usr/lib, so I don't have a
way to hide a base curses if requested to do so.
if you're trying to use pkgsrc ncurses and have a base curses, this
will use your base curses.
bump pkgrevision.
Note that if the perl option is used, weechat segfaults at exit.
Not sure the wide-curses option does anything.
Remove conflicting patches that don't seem necessary.
Highlights:
Option to check license of scripts loaded
Completion for /set and /help commands
Fixes CVE-2017-14727, CVE-2017-8073
version 1.9.1:
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.
version 1.9:
- improve speed of nicklist bar item callback
- add auto scroll of buflist bar with new option buflist.look.auto_scroll
- add option buflist.format.name
- add variables ${format_name}, ${current_buffer} and ${merged} in buflist
- display a warning in buflist when the script buffers.pl is loaded
- add server/channel pointers in trigger IRC callbacks
- add API functions config_option_get_string and hdata_compare
- fix bind of Space key
version 1.8:
- add option weechat.completion.nick_case_sensitive
- add wilcard matching operator, cut of string and ternary operator in evaluation of expressions
- add resize of window parents with /window resize [h/v]size
- add plugin "buflist" (bar with list of buffers)
- add arraylist and dynamic string functions in API
- add option "open" in command /server
- add signal "irc_server_lag_changed" and store the lag in the server buffer (local variable)
- add aspell options to control delimiters in suggestions
- add option "-include" in commands /allchan, /allpv and /allserv
For a complete changelog, see:
https://weechat.org/files/changelog/ChangeLog-1.9.1.html
Main new features:
- add support of functions in API function "hook_process"
- move of nick coloring options from irc plugin to core
- move irc bar item "away" to core
- add pointer in callbacks used in scripting API
- add option irc.network.sasl_fail_unavailable
- add Portuguese translations
Bugs fixed:
- core: fix nick coloring when stop chars and a forced color are used: first
remove chars then look for forced color
- core: check that pointers received in arguments are not NULL in buffers and
windows functions
- core: fix truncation of buffer names in hotlist (issue #668)
- core: fix update of window title under Tmux (issue #685)
- core: fix detection of Python shared libraries (issue #676)
- api: fix number of arguments returned by function string_split() when
keep_eol is 2 and the string ends with separators
- irc: fix first message displayed in raw buffer when the message is modified
by a modifier (issue #719)
- irc: add missing completion "*" for target in command /msg
- irc: fix /msg command with multiple targets including "*"
- lua: fix crash when a lua function doesn’t return a value and a string was
expected (issue #718)
- relay: do not execute any command received in a PRIVMSG message from an irc
relay client (issue #699)
- relay: fix the max number of clients connected on a port, allow value 0 for
"no limit" (issue #669)
- relay: fix decoding of multiple frames in a single websocket message, send
PONG on PING received in a websocket frame (issue #675)
- relay: fix command "input" received from clients with only spaces in content
of message (weechat protocol) (issue #663)
- script: force refresh of scripts buffer after download of scripts list
- xfer: fix DCC file received when the terminal is resized
New features
- core: add completion "colors" (issue #481)
- core: start/stop search in buffer at current scroll position by default, add
key Ctrl+q to stop search and reset scroll (issue #76, issue #393)
- core: add option weechat.look.key_grab_delay to set the default delay when
grabbing a key with Alt+k
- core: add option weechat.look.confirm_upgrade (issue #463)
- core: allow Ctrl+c to exit WeeChat when the passphrase is asked on startup
(issue #452)
- core: allow pointer as list name in evaluation of hdata (issue #450)
- core: add signal "signal_sighup"
- api: add support of evaluated sub-strings and current date/time in function
string_eval_expression() and command /eval
- api: add function string_eval_path_home()
- alias: add options "add", "addcompletion" and "del" in command /alias, remove
command /unalias (issue #458)
- irc: add option irc.network.channel_encode (issue #218, issue #482)
- irc: add option irc.color.topic_current (issue #475)
- irc: evaluate content of server option "nicks"
- logger: evaluate content of option logger.file.path (issue #388)
- relay: display value of HTTP header "X-Real-IP" for websocket connections
(issue #440)
- script: rename option script.scripts.dir to script.scripts.path, evaluate
content of option (issue #388)
- xfer: evaluate content of options xfer.file.download_path and
xfer.file.upload_path (issue #388)
Bugs fixed
- core: flush stdout/stderr after sending text directly on them (fix corrupted
data sent to hook_process() callback) (issue #442)
- core: allow execution of command "/input return" on a buffer which is not
displayed in a window
- core: allow jump from current to previous buffer with default keys Alt+j, NN
(issue #466)
- core: fix crash if a file descriptor used in hook_fd() is too high (> 1024 on
Linux/BSD) (issue #465)
- core: fix display of invalid UTF-8 chars in bars
- core: fix bar item "scroll" after /buffer clear (issue #448)
- core: fix display of time in bare display when option
weechat.look.buffer_time_format is set to empty string (issue #441)
- api: add missing function infolist_search_var() in script API (issue #484)
- api: add missing function hook_completion_get_string() in script API (issue #484)
- api: fix type of value returned by functions strcasestr, utf8_prev_char,
utf8_next_char, utf8_add_offset and util_get_time_string
- api: fix type of value returned by function strcasestr
- fifo: fix send error on Cygwin when something is received in the pipe (issue #436)
- irc: fix update of lag item when the server lag changes
- irc: do not allow command /query with a channel name (issue #459)
- irc: decode/encode only text in IRC messages and not the headers (bug #29886,
issue #218, issue #451)
- irc: fix crash with commands /allchan, /allpv and /allserv if the executed
command closes buffers (issue #445)
- irc: do not open auto-joined channels buffers when option "-nojoin" is used
in command /connect (even if the option irc.look.buffer_open_before_autojoin
is on)
- irc: fix errors displayed on WHOX messages received (issue #376)
- lua: add detection of Lua 5.3
- ruby: add detection of Ruby 2.2
- xfer: fix crash if the DCC file socket number is too high (> 1024 on
Linux/BSD) (issue #465)
- xfer: fix parsing of DCC chat messages (handle "\r\n" at the end of messages)
(issue #425, issue #426)
- doc: replace PREFIX with CMAKE_INSTALL_PREFIX in cmake instructions (issue #354)
Based on the update provided by he@
Among the new features:
- add options to customize word chars (for detecting word boundaries)
- add a welcome message on first WeeChat run
- add options to customize quoted messages (in cursor mode)
- add support of environment variables in evaluated expressions
- add IRC SASL mechanism "ecdsa-nist256p-challenge"
- add support of SHA-256 and SHA-512 algorithms in IRC server option "ssl_fingerprint"
- add support of IRC capability "account-notify"
- remove "freenode" server from default config
- new script plugin for javascript
- many bugs fixed.
New major features in this release:
- plugin "trigger": Swiss Army knife for WeeChat (replaces "rmodifier" plugin)
- plugin "exec": execute external commands (replaces script "shell.py")
- bare display: easy click on long URLs and text selection with mouse
- support of environment variables in /set command
- hidden buffers
- negated tags in filters
- toggle of filters in specific buffers
- flexible conditions for adding/removing buffers in hotlist
- text search in buffers with free content
- support of wildcard "*" inside masks
- support of nested variables in evaluated expressions
- tag with host in IRC messages displayed
- support of "away-notify" IRC capability
- IRC commands: /allpv, /remove, /unquiet
- bar items: buffer_short_name, irc_nick_modes
Version 0.4.3:
- new command /print
- logical and/or for tags in /filter and hook_print
- gaps in buffer numbers
- support of italic text
- new options to customize default text search in buffers
- use of IRC monitor command for /notify (if available on server)
- new IRC server option "ssl_fingerprint"
- new option to smart-filter IRC mode messages
- new option for default IRC ban mask
- support of IPv6 for DCC chat/file
- auto check CRC32 of files received with DCC
- many bugs fixed.
Version 0.4.2:
- rename binary from "weechat-curses" to "weechat" (with symbolic link "weechat-curses" for compatibility)
- add secured data (encryption of passwords or private data), new command /secure, new file sec.conf
- search of regular expression in buffer with text emphasis, in prefixes, messages or both
- add option "scroll_beyond_end" for command /window
- add optional buffer context in bar items (for example to display bitlbee nicklist in a root bar)
- new options weechat.look.hotlist_{prefix|suffix}
- new option weechat.look.key_bind_safe to prevent any key binding error from user
- new option weechat.network.proxy_curl to use a proxy when downloading URLs with curl
- display day change message dynamically
- support of wildcards in IRC commands (de)op/halfop/voice
- new option irc.look.notice_welcome_redirect to redirect channel welcome notices to the channel buffer
- new option irc.look.nick_color_hash: new hash algorithm to find nick colors (variant of djb2)
- add info about things defined by a script in the detailed view of script (/script show)
- support of "enchant" library in aspell plugin
- many bugs fixed.
Use cmake for build
Version 0.4.1 (May 20, 2013)
- multiple layouts support
- nick prefix/suffix are now dynamic (and managed by core instead of irc plugin)
- unmask irc join if nick speaks some minutes after the join
- new option irc.look.display_join_message to disable some messages after joining a channel
- new option irc.look.pv_buffer to automatically merge private buffers
- add support of UHNAMES
- add DH-AES encryption method for SASL
- multiple irc servers allowed on same port for irc protocol in relay plugin
- add WebSocket server support (RFC 6455) in relay plugin (for irc and weechat protocols)
- send nicklist difference in relay plugin (weechat protocol)
- add control of autoload for scripts
- optimizations in aspell plugin
- many bugs fixed.
Version 0.4.0 (Jan 20, 2013)
- add option "diff" for command /set, display default values in output of /set
- add color support in prefix options
- add command /eval, use expression in conditions for bars
- connect by default with IPv6 to servers with fallback to IPv4
- add aspell suggestions
- add support of tags in irc messages and "server-time" capability
- add irc command /quiet
- add support of IPv6 in relay plugin
- add backlog for irc protocol in relay plugin
- display remote IP address for DCC chat/file in xfer plugin
- add git version in build
- many bugs fixed.
Changes:
Security:
- CVE-2012-5854: Fix buffer overflow when decoding IRC colors in strings
- CVE-2012-5534: Fix untrusted command for function hook_process could lead to
execution of commands, because of shell expansions
Among the new features:
- add plugin "script" (replacement of weeget.py and script.pl)
- add support of SSL in relay plugin
- add color for offline nicks
- add system resource limits for WeeChat process
- add zoom on merged buffer (default key: alt+"x")
- add "Day changed to" in logger backlog
- add command line option "-r" (or "--run-command") to run command(s) after startup of WeeChat
- add option "swap" for command /buffer
- generate alternate IRC nicks dynamically (when all nicks are already in use)
- fix rejoin of password protected IRC channels
- fix freeze in irc and relay plugins with sockets
- fix color of long lines (displayed on more than one line on screen) under FreeBSD
- allow update for some variables of hdata
- add japanese user's guide, scripting guide and tester's guide
- many bugs fixed.
Among the new features for 0.3.7:
- support of Scheme scripts (new plugin "guile")
- support of Python 3.x (but version 2.x still recommended)
- add "weechat" protocol in relay plugin for remote interfaces, like QWeeChat
- new option irc.color.mirc_remap to remap mirc colors in irc messages
- new options irc.look.highlight_{server|channel|pv} to customize or disable default nick highlight
- new option "capabilities" in irc servers (to enable some client capabilities on connection)
- new option weechat.history.max_buffer_lines_minutes to limit buffer history by time
- use extended regex in /filter, /ignore and /list
- add support of flags in regular expressions and highlight options
- add URL transfer in plugin API (with hook_process and hook_process_hashtable)
- add translations in japanese
- add doc for relay protocol
- add developer's guide
- many bugs fixed.
Among the new features for 0.3.6:
- mouse support
- cursor mode (free movement of cursor on screen)
- contexts for keys
- hdata in API (direct access to WeeChat and plugins data)
- "inactive" colors for inactive windows and lines in merged buffers
- support of merged buffers in /layout, save layout of buffers/windows on /upgrade
- horizontal scrolling in buffers with free content
- split of outgoing IRC messages
- options for "more" chars in bars
- bold not used any more for basic colors (if terminal has at least 16 colors)
- automatic zoom on current window when terminal becomes too small for windows
- new command /repeat
- local variable "highlight_regex" in buffers.
mong the new features for 0.3.5:
- 256 colors support improved (dynamic allocation of colors)
- attributes for colors (bold/reverse/underline)
- better scroll of input (with long text)
- output of /help improved for list of commands and their arguments
- remember scroll position of buffers in windows
- list of buffers in filters
- count of messages in hotlist buffers
- swap buffers of windows
- balance of windows
- new API function to set help on plugin/script options
- speller options in aspell plugin
- option for SSL priorities in IRC servers
- color nicks in nicklist and output of /names.
Fix for SA43543 and update kindly provided by gls@
This is a major release, with lot of bugs fixed and major new features.
Among the new features:
- 256 colors support, with unlimited number of nick colors
- irc proxy (relay plugin)
- redirection of IRC commands
- command /notify
- rmodifier plugin
- regular expressions for highlights
- color support for timestamp in chat buffer
- irc option to force color for some nicks
- share input line between buffers.
Version 0.3.1.1:
This version fixes crashes with SSL connection to IRC server and purge of old
DCC chats. It is recommended to upgrade from 0.3.1 to 0.3.1.1 for all users.
Version 0.3.1:
- new IRC commands: allserv, allchan, sajoin, samode, sanick, sapart, saquit,
- check of SSL certificates and use of CertFP for IRC servers,
- options to customize IRC CTCP replies,
- options to choose target buffer for IRC messages,
- anti-flood improved for IRC servers,
- new expansions for alias arguments,
- new color darkgray, bright colors supported for backgrounds,
- many bugs fixed.
Main changes:
* irc is now a plugin
* irc: remove kernel info in CTCP VERSION reply
* relay: add relay plugin (network communication between WeeChat and remote
application)
* logger: add logger plugin with new features: backlog, level for messages to
log
* plugins: add some other plugins: alias, demo, fifo, tcl, xfer
* api: new plugin API with many new functions: hooks, buffer management and
nicklist, bars, configuration files, network, infos/infolists, lists, upgrade
* gui: new display engine, with prefix and message for each line
* gui: add new type of buffer, with free content
* gui: fix display bug with some weird UTF-8 chars
* core: improve main loop: higher timout in select(), less CPU usage
* core: new name for configuration files (*.conf instead of *.rc)
Add an option to enable python plugin support.
News since last version are:
- added server default notify
- added arguments ($1,..,$9) for alias and special
vars ($nick, $channel, $server)
- added hotlist in session file when using /upgrade command
- fixed crash with DCC when resuming file
- fixed random crash with /upgrade command
- fixed nicklist display when location is top or bottom
- fixed bug with CTCP version on channels
- fixed bug with auto-rejoin for keyed channels
- fixed chan owner and chan admin nicks
News since last version are:
- nick aligment, makes channels more readable
- new commands: /cycle, /setp
- new option to customize IP/hostname (when using multipe IP)
- new option to customize input prompt
- added keyboard handler for plugins
- german translations (messages and documentation)
- many bugs fixed for: UTF-8, DCC chat, Ruby, mutiple queries with same name, some commands, long IRC messages (> 512 bytes), terminal refresh, nicklist
Plus all changes since 0.0.5, see http://weechat.flashtux.org/ for details
Among them:
- improved alias completion (now uses target command for completion)
...
- added completion system for plugins/scripts commands
...
- new window maganement: custom size for windows, auto resize when terminal is resized
...
- full UTF-8 support
...
- new keyboard management, fully customizable
WeeChat (Wee Enhanced Environment for Chat) is a fast and light IRC
client. Everything can be done with a keyboard, and it is customizable
and extensible with scripts.