Version 3.0 (2020-11-11)
New features
* api: add optional list of colors in infos "nick_color" and
"nick_color_name" (issue #1565)
* api: add argument "bytes" in function string_dyn_concat
* api: add function string_color_code_size (issue #1547)
* exec: add option "-oerr" to send stderr to buffer (now
disabled by default) (issue #1566)
* fset: add option fset.look.auto_refresh (issue #1553)
* irc: add pointer to irc_nick in focus of bar item
"buffer_nicklist" (issue #1535, issue #1538)
* irc: allow to send text on buffers with commands /allchan,
/allpv and /allserv
* irc: evaluate command executed by commands /allchan, /allpv
and /allserv (issue #1536)
* script: add option script.scripts.download_enabled (issue
#1548)
* trigger: add variable "tg_argc" in data set by command
trigger (issue #1576)
* trigger: add variable "tg_trigger_name" in data set by all
triggers (issue #1567, issue #1568)
Bug fixes
* core: set "notify_level" to 3 if there is a highlight in the
line (issue #1529)
* core: do not add line with highlight and tag "notify_none" to
hotlist (issue #1529)
* irc: remove SASL timeout message displayed by error after
successful SASL authentication (issue #1515)
* irc: send all channels in a single JOIN command when
reconnecting to the server (issue #1551)
* script: do not automatically download list of scripts on
startup if the file is too old (issue #1548)
* spell: properly skip WeeChat and IRC color codes when
checking words in input (issue #1547)
* trigger: fix recursive calls to triggers using regex (issue
#1546)
* trigger: add ${tg_tags} !!- ,notify_none, in conditions of
default trigger "beep" (issue #1529)
Tests
* core: add tests on GUI line functions
Build
* core: disable debug by default in autotools build
* tests: fix compilation with CppUTest ≥ 4.0
== Version 2.9 (2020-07-18)
New features::
* core: add bar option "color_bg_inactive": color for window bars in inactive window (issue #732)
* core: add Alacritty title escape sequence support (issue #1517)
* core: display notify level for current buffer with command /buffer notify (issue #1505)
* core: count only visible nicks in bar item "buffer_nicklist_count", add bar items "buffer_nicklist_count_groups" and "buffer_nicklist_count_all" (issue #1506)
* core: set default size for input bar to 0 (automatic) (issue #1498)
* core: add default key kbd:[Alt+Enter] to insert a newline (issue #1498)
* core: add flag "input_multiline" in buffer (issue #984, issue #1063)
* core: add a scalable WeeChat logo (SVG) (issue #1454, issue #1456)
* core: add base 16/32/64 encoding/decoding in evaluation of expressions with "base_encode:base,xxx" and "base_decode:base,xxx"
* core: add case sensitive wildcard matching comparison operator (`+==*+` and `+!!*+`) and case sensitive/insensitive include comparison operators (`+==-+`, `+!!-+`, `+=-+`, `+!-+`) in evaluation of expressions
* core: add default key kbd:[Alt+Shift+N] to toggle nicklist bar
* core: add command line option "--stdout" in weechat-headless binary to log to stdout rather than ~/.weechat/weechat.log (issue #1475, issue #1477)
* core: reload configuration files on SIGHUP (issue #1476)
* api: add pointer "_bar_window" in hashtable sent to hook focus callback (issue #1450)
* api: add info_hashtable "focus_info" (issue #1245, issue #1257)
* api: rename function hook_completion_get_string to completion_get_string and hook_completion_list_add to completion_list_add
* api: add functions completion_new, completion_search and completion_free
* api: add hdata "completion_word"
* buflist: add default key kbd:[Alt+Shift+B] to toggle buflist
* buflist: add options enable/disable/toggle in command /buflist
* buflist: evaluate option buflist.look.sort so that sort can be customized for each of the three buflist bar items (issue #1465)
* irc: add support of UTF8MAPPING (issue #1528)
* irc: display account messages in buffers (issue #1250)
* python: add WeeChat sharedir python directory to PYTHONPATH (issue #1537)
* relay: increase default limits for IRC backlog options
* relay: add command "handshake" in weechat relay protocol and nonce to prevent replay attacks, add options relay.network.password_hash_algo, relay.network.password_hash_iterations, relay.network.nonce_size (issue #1474)
* relay: add command "completion" in weechat relay protocol to perform a completion on a string at a given position (issue #1484)
* relay: add option relay.network.auth_timeout
* relay: update default colors for client status
* relay: add status "waiting_auth" in irc and weechat protocols (issue #1358)
* trigger: evaluate arguments of command when the trigger is created (issue #1472)
Bug fixes::
* core: fix command /window scroll_beyond_end when buffer has fewer lines than chat height (issue #1509)
* core: force buffer property "time_for_each_line" to 0 for buffers with free content (issue #1485)
* core: don't collapse consecutive newlines in lines displayed before the first buffer is created
* core: don't remove consecutive newlines when pasting text (issue #1500)
* core: don't collapse consecutive newlines in bar content (issue #1500)
* core: fix WEECHAT_SHAREDIR with CMake build (issue #1461)
* core: fix memory leak in calculation of expression on FreeBSD (issue #1469)
* core: fix resize of a bar when its size is 0 (automatic) (issue #1470)
* api: fix use of pointer after free in function key_unbind
* api: replace plugin and buffer name by buffer pointer in argument "modifier_data" sent to weechat_print modifier callback (issue #42)
* buflist: add "window" pointer in bar item evaluation only if it's not NULL (if bar type is "window")
* exec: fix use of same task id for different tasks (issue #1491)
* fifo: fix errors when writing in the FIFO pipe (issue #713)
* guile: enable again /guile eval (issue #1514)
* irc: use new default chantypes "#&" when the server does not send it
* irc: add support of optional server in info "irc_is_nick", fix check of nick using UTF8MAPPING isupport value (issue #1528)
* irc: fix add of ignore with flags in regex, display full ignore mask in list of ignores (issue #1518)
* irc: do not remove spaces at the end of users messages received (issue #1513)
* irc: fix realname delimiter color in WHO/WHOX response (issue #1497)
* irc: reuse a buffer with wrong type "channel" when a private message is received (issue #869)
* python: fix crash when invalid UTF-8 string is in a WeeChat hashtable converted to a Python dict (issue #1463)
* relay: add missing field "notify_level" in message "_buffer_line_added" (issue #1529)
* relay: fix slow send of data to clients when SSL is enabled
* trigger: only return trigger's return code when condition evaluates to true (issue #592)
* trigger: fix truncated trigger command with commands /trigger input|output|recreate
* trigger: do not hide values of options with /set command in cmd_pass trigger
Documentation::
* add includes directory
* merge 53 auto-generated files into 11 files
* fix broken literal blocks in Japanese docs with Firefox (issue #1466)
Tests::
* core: add CI with GitHub Actions, move codecov.io upload to GitHub Actions
* core: switch to Ubuntu Bionic on Travis CI, use pylint3 to lint Python scripts
* core: run tests on plugins only if the plugins are enabled and compiled
* irc: add tests on IRC color and channel functions
Build::
* javascript: disable build by default and remove Debian packaging of JavaScript plugin (issue #360)
* core: make GnuTLS a required dependency
* core: fix build with CMake 3.17.0
* core: fix build with cygport on Cygwin
The previous ${LN} incantation missed possible python3-embed.pc file
(present in python38) ending up in a not-working python support.
Do not adjust file under ${BUILDLINK_DIR} and use the SUBST framework
to adjust all python3 pkg-config invocations.
== Version 2.8 (2020-03-29)
New features::
* core: add variable "old_full_name" in buffer, set during buffer renaming (issue #1428)
* core: add debug option "-d" in command /eval (issue #1434)
* api: add functions crypto_hash and crypto_hash_pbkdf2
* api: add info "auto_connect" (issue #1453)
* api: add info "weechat_headless" (issue #1433)
* buflist: add pointer "window" in bar item evaluation
* irc: add support of fake servers (no I/O, for testing purposes)
* relay: accept hash of password in init command of weechat protocol with option "password_hash" (PBKDF2, SHA256, SHA512)
* relay: reject client with weechat protocol if password or totp is received in init command but not set in WeeChat (issue #1435)
Bug fixes::
* core: fix memory leak in completion
* core: flush stdout/stderr before forking in hook_process function (issue #1441)
* core: fix evaluation of condition with nested "if" (issue #1434)
* irc: split AUTHENTICATE message in 400-byte chunks (issue #1459)
* irc: copy temporary server flag in command /server copy
* irc: add nick changes in the hotlist (except self nick change)
* irc: case-insensitive comparison on incoming CTCP command, force upper case on CTCP replies (issue #1439)
* irc: fix memory leak when the channel topic is changed
* logger: fix crash when logging is disabled on a buffer and the log file was deleted in the meanwhile, when option logger.file.info_lines is on (issue #1444)
* php: fix crash when loading script with PHP 7.4 (issue #1452)
* relay: update buffers synchronization when buffers are renamed (issue #1428)
* script: fix memory leak in read of script repository file if it has invalid content
* script: fix unexpected display of scripts list in buffer with command /script list -i
* xfer: send signal "xfer_ended" after the received file has been renamed (issue #1438)
Tests::
* scripts: fix generation of test scripts with Python 3.8
* unit: add tests on IRC protocol functions and callbacks
* unit: add tests on function secure_derive_key
* unit: add tests on functions util_get_time_diff and util_file_get_content
Build::
* core: fix Cygwin build
* guile: add detection of Guile 3.0.0 (issue #1442)
* irc: fix build with GnuTLS < 3.1.0 (issue #1431)
* php: add detection of PHP 7.4
* ruby: add detection of Ruby 2.7 (issue #1455)
== Version 2.7.1 (2020-02-20)
Bug fixes::
* irc: fix crash when receiving a malformed message 352 (who)
* irc: fix crash when a new message 005 is received with longer nick prefixes
* irc: fix crash when receiving a malformed message 324 (channel mode) (CVE-2020-8955)
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)
Previously CA_FILE was undefined and lead to using
`/etc/ssl/certs/ca-certificates.crt'. Pass the gnutls default trust store file
that - at least if `gnutls' option is enabled - should be always present.
Bump PKGREVISION.
Should enable users to run most scripts available on weechat.org.
If you're using pkgsrc you probably have python/perl/lua installed already,
and ruby apparently even works on VAX, so this shouldn't be much of a hard
requirement.
joyent has been building with these settings for a while.
Among the new features:
- add support of UNIX domain sockets in relay plugin
- add option relay.weechat.commands
- add trigger hooks "info" and "info_hashtable"
- add option xfer.network.speed_limit_recv
- add option weechat.look.buffer_time_same
- add option weechat.look.prefix_same_nick_middle
- add option "addreplace" in command /filter
- add bar items "irc_nick", "irc_host" and "irc_nick_host"
- add functions command_options and string_match_list in plugin API
- rename aspell plugin to spell
- use getopt to parse command line arguments
- many bugs fixed.
New features
core: do not automatically add a space when completing "nick:" at the beginning of command line (the space can be added in option weechat.completion.nick_completer)
core: add default keys Ctrl+F11/Ctrl+F12 to scroll up/down one page in nicklist (same action as F11/F12)
core: add command line option "-t" (or "--temp-dir") to create a temporary WeeChat home (deleted on exit)
api: add functions string_base_encode and string_base_decode, remove functions string_encode_base64 and string_decode_base64
api: add support of Time-based One-Time Password (TOTP), add infos "totp_generate" and "totp_validate"
buflist: add default keys Ctrl+F1/Ctrl+F2 to scroll up/down one page in buflist (same action as F1/F2)
buflist: add variable ${number2}, always set with the indented buffer number
exec: add option exec.command.shell to customize the shell used with /exec -sh
relay: add support of close frame in websocket connection (issue #1281)
relay: add support of Time-based One-Time Password (TOTP) as second authentication factor in weechat protocol
Bug fixes
core: fix compilation of empty regular expression (not allowed on FreeBSD)
core: fix forced highlight on messages sent to other buffers (issue #1277)
aspell: look for suggestions only if the misspelled word has changed (issue #1175)
buflist: add alternate key codes for F1/F2 and Alt+F1/Alt+F2 (compatibility with terminals)
buflist: fix warning displayed when script buffers.pl is loaded (issue #1274)
irc: fix parsing of whois messages in notify
irc: fix parsing of MODE, 341 (invite) and CHGHOST commands when there are colons (issue #1296)
irc: return IRC color code instead of WeeChat color code when decoding a too short ANSI color sequence
irc: fix encoding of italic attribute when colors are removed
irc: fix parsing of "time" message tag on FreeBSD (issue #1289)
relay: fix crash on /upgrade when the real IP is not set (issue #1294)
relay: fix memory leak in connection of client
Tests
unit: fix UTF-8 and evaluation tests on FreeBSD
unit: add tests on IRC configuration and protocol functions
Build
core: add C compiler flag "-fsigned—char" to force "char" data type to be always signed (issue #1277)
Changes:
in version 2.3:
- add hook "line"
- add option "-P" (or "--plugins") to customize the plugins to load at startup
- allow multiple options "-r" ("--run-command") in command line arguments
- allow allow partial buffer name and multiple arguments in command /buffer close
- allow specifying buffer number/name for /buffer localvar
- allow creation of temporary variables with the regex in trigger plugin
- add real IP in client description in relay plugin
- add repeat of string in evaluation of expressions with "repeat:count,string"
- many bugs fixed.
in version 2.2:
- add support of list options in curl
- allow merge of buffers by name in command /buffer
- add reverse of string in evaluation of expressions with "rev:"
- add indexed ban list and completion for /unban and /unquiet (IRC plugin)
- add support for IRCv3.2 Client Capability Negotiation
- add support for IRCv3.2 invite-notify
- add support for IRCv3.2 chghost, add options irc.look.smart_filter_chghost and irc.color.message_chghost
- add option xfer.network.send_ack
- add support of Python 3.7
- fix memory leaks scripting plugins
- many bugs fixed.
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
Version 2.0.1 (2017-12-20):
- python: fix arguments status/gnutls_rc/sock in hook_connect() callback
- python: fix argument fd in hook_fd() callback
Version 2.0 (2017-12-03):
- new plugin "fset" (fast set of WeeChat and plugins options)
- add option buflist.look.add_newline
- add two new bar items "buflist2" and "buflist3" using the same format configuration options
- add flag "input_get_empty" in buffer
- add signals "buffer_filters_enabled" and "buffer_filters_disabled"
- support loading of plugins from path in environment variable "WEECHAT_EXTRA_LIBDIR"
- add infolist "alias_default" (list of default aliases)
- make value optional in command /buffer set
- support of floating point and hexadecimal numbers in comparison of evaluated values
- add option weechat.look.save_config_with_fsync
- add support of prefix "quiet:" in function key_unbind() to quietly remove keys
- add argument "recurse_subdirs" in function exec_on_files()
- add local variable "filter" in the script buffer
- remove recursive evaluation of extra variables in buflist
- change type of arguments status/gnutls_rc/sock in hook_connect() callback from string to integer (in scripting API)
- change type of argument fd in hook_fd() callback from string to integer (in scripting API)
- fix display bugs with filtered lines
- fix display of nicks in nicklist when they are in a group with sub-groups
- call the config hook when options are renamed or removed
- fix parsing of CAP command in relay/irc
- many bugs fixed.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:
pkglint -Cnone,PLIST -Wnone,plist-sort -r -F