Skip to content

Releases: weechat/weechat

v3.8

08 Jan 09:44
Compare
Choose a tag to compare

New features

  • core: add option weechat.look.chat_space_right (issue #1862)
  • core: allow value "0" in buffer property "unread" to remove read marker from buffer
  • core: add command /allbuf
  • core: add command /hotlist
  • core: move some /input actions to commands /allbuf, /buffer and /hotlist
  • core: improve case convert and insensitive char comparisons (issue #258)
  • core: add color attributes "blink" and "dim" (half bright) (issue #1855)
  • core: allow command /toggle to create option before setting the value, if allowed in the section (issue #1837)
  • core: add signals "buffer_user_input_xxx" and "buffer_user_closing_xxx" for buffers created with /buffer add (issue #1848)
  • core: add identifier in buffer lines (issue #901)
  • core: add option unicode in command /debug
  • api: add Curl options for versions 7.64.0 to 7.87.0
  • api: add functions string_strcmp and string_strncmp
  • api: rename char comparison functions "utf8_char*" to "string_char*"
  • api: return arithmetic difference between chars in functions string_charcmp, string_charcasecmp, string_charcasecmp_range, string_strcasecmp, string_strcasecmp_range, string_strncasecmp, string_strncasecmp_range, string_strcmp_ignore_chars
  • api: return newly allocated string in functions string_tolower and string_toupper
  • api: add function utf8_strncpy
  • trigger: add regex command "y" to translate chars, set default regex command to "s" (regex replace) (issue #1510)

Bug fixes

  • core: fix color when the delimiter is not followed by a background color (issue #1867)
  • core: display chars the same way in chat and bars, replace tabulations by spaces in bars, display chars < 32 with letter in chat, do not display soft hyphens, zero width spaces and all non-printable chars (issue #1659, issue #1669, issue #1770)
  • core: fix context info in buffers with free content (issue #1832)
  • core: keep terminal title unchanged when option weechat.look.window_title is set to empty value (issue #1835, issue #1836)
  • core: fix crash when setting invalid color in option with null value (issue #1844)
  • api: do not check conditions defined in option weechat.look.hotlist_add_conditions when adding buffer in hotlist with function buffer_set
  • api: fix function strcmp_ignore_chars with case sensitive comparison and wide chars starting with the same byte
  • api: send NULL values to config section callbacks in scripting API (issue #1843)
  • api: fix function string_cut when there are non printable chars in suffix
  • api: do not expect any return value in callbacks "callback_change" and "callback_delete" of function config_new_option (scripting API)
  • irc: properly rename private buffer on nick changes or privmsg/notice message when new nick is the same with different case
  • irc: do not join channels in server autojoin option after reconnection to the server (issue #560, bug #21529)
  • irc: escape backslashes in raw buffer (issue #1838)
  • trigger: fix variables sent to focus callback (issue #1858)

Tests

  • ci: remove use of repository ppa:ondrej/php, use standard PHP version (8.1) from Ubuntu 22.04
  • core: add script check_scripts.sh
  • core: add script check_curl_symbols.py
  • gui: add tests on input functions
  • scripts: add tests on config functions

Build

  • core: add CMake test called "notests" when tests are not compiled
  • core: rename scripts: build-debian.sh to build_debian.sh, build-test.sh to build_test.sh, git-version.sh to set_git_version.sh
  • debian: change dependency guile-2.2-dev to guile-3.0-dev
  • python: remove support of Python 2.x
  • ruby: add detection of Ruby 3.2
  • spell: add detection of enchant-2 (issue #1859)

Download

https://weechat.org/download/weechat/3.8/

v3.7.1

21 Oct 11:39
Compare
Choose a tag to compare

Bug fixes

  • trigger: execute trigger command on appropriate buffer for hooks command, command_run, line, modifier and print (issue #1841)

Download

https://weechat.org/download/weechat/3.7.1/

v3.7

09 Oct 06:43
Compare
Choose a tag to compare

New features

  • core: add option -save in command /upgrade (issue #1630)
  • core: add option weechat.look.highlight_disable_regex and buffer property "highlight_disable_regex" (issue #1798)
  • core: sort filters by name (issue #1695)
  • core: add key Alt+Backspace to delete previous word, change key Ctrl+w to delete previous word until whitespace (issue #559)
  • api: rename function string_build_with_split_string to string_rebuild_split_string, add arguments "index_start" and "index_end"
  • api: add info "uptime_current"
  • api: add function crypto_hash_file
  • api: add support of priority in function hook_line (issue #1821)
  • api: add function string_parse_size
  • api: add function file_compress
  • buflist: add variable ${hotlist_priority_number} (integer version of ${hotlist_priority})
  • irc: display SETNAME command in channels and private buffers, add options irc.color.message_setname and irc.look.smart_filter_setname (issue #1805)
  • irc: add option irc.look.display_pv_nick_change
  • logger: add options to rotate and compress log files: logger.file.rotation_compression_level, logger.file.rotation_compression_type and logger.file.rotation_size_max (issue #314)
  • spell: allow special dict value "-" to disable spell checking on a specific buffer (issue #1699)
  • trigger: add elapsed time for trigger execution on monitor buffer when trigger debug is set, add option trigger.color.identifier (issue #1806)
  • trigger: add variable ${tg_hook_type} (issue #1765)

Bug fixes

  • core: fix wrong terminal title on terminal resize (issue #1702)
  • core: fix page scroll in bare display (issue #1830)
  • api: change type of argument remaining_calls in hook_timer callback from string to integer (in scripts)
  • api: change type of argument object_id in upgrade_new callback from string to integer (in scripts)
  • irc: fix duplicated channels in autojoin option when autojoin_dynamic is enabled (issue #1795)
  • irc: fix display of TOPIC and QUIT messages with an empty trailing parameter (issue #1797)
  • irc: fix parsing of messages with trailing spaces and no trailing parameter (issue #1803)
  • irc: add missing tag "irc_numeric" in all numeric IRC commands (issue #1804)
  • irc: display an error message when using command /dcc without xfer plugin loaded
  • irc: display ACCOUNT and CHGHOST commands in private buffers
  • irc: fix extract of isupport value when it is last in list and without value (issue #1807)
  • irc: fix target buffer of generic errors when they contain a target nick (issue #1814)
  • irc: fix display of message 350 (whois, gateway) (issue #1815)
  • irc: replace chars "\01" by spaces in CTCP replies (issue #1819)
  • irc: fix message when disconnecting from server in case of high lag when server option autoreconnect is off (issue #1708)
  • irc: set local variable "filter" when doing /server raw xxx with raw buffer already opened (issue #1448)
  • guile: fix function hdata_get_string
  • javascript: fix return of long value in functions infolist_time, hdata_long and hdata_time
  • php: fix function hdata_compare
  • relay: fix parsing of IRC messages received from clients (issue #1796)
  • relay: fix refresh of relay buffer after /upgrade
  • ruby: fix function hdata_get_string
  • scripts: fix issue with year ≥ 2038 in functions infolist_new_var_time, print_date_tags and print_y_date_tags (plugins: python/lua/tcl/guile/javascript)
  • scripts: fix issue with long interval in function hook_timer (plugins: python/ruby/lua/tcl/guile/javascript/php)
  • trigger: fix error on monitor buffer creation when trigger debug is >= 1 and monitor buffer is closed
  • trigger: escape arguments with double quotes in output of /trigger input|output|recreate (issue #190)
  • xfer: fix crash when closing DCC chat buffer
  • xfer: disconnect all active DCC chats and files on /upgrade
  • xfer: fix refresh of xfer buffer after /upgrade
  • xfer: fix DCC file receive on Termux (issue #1811)

Tests

  • core: switch from Ubuntu 20.04 to 22.04 in CI
  • core: remove macOS 10.15, add macOS 12 in CI
  • core: add tests on filter functions
  • scripts: add tests on hdata functions
  • scripts: fix run of Guile test script
  • xfer: add tests on file functions

Download

https://weechat.org/download/weechat/3.7/

v3.6

10 Jul 07:47
Compare
Choose a tag to compare

New features

  • core: add command /item to create custom bar items (issue #808)
  • core: add bar item "spacer" (issue #1700)
  • core: add case conversion in evaluation of expressions with lower:string and upper:string (issue #1778)
  • core: move detailed list of hooks from command /plugin listfull to /debug hooks <plugin>
  • core: allow to remove multiple filters at once with command /filter del
  • api: allow to catch multiple signals in functions hook_signal and hook_hsignal (issue #1780)
  • irc: rename option save to apply in command /autojoin
  • irc: add support of RPL_HELPSTART, RPL_HELPTXT and RPL_ENDOFHELP (messages 524, 704, 705, 706) (issue #1772)
  • php: add support of PHP 8.2 (issue #1787)

Bug fixes

  • core: fix bad window size on startup with some terminals like https://github.com/kovidgoyal/kitty[kitty] (issue #1769)
  • api: run hook_print callback also on empty messages
  • buflist: fix memory leak when reading config and changing option buflist.look.sort
  • irc: remove channel from autojoin option when manually closing a buffer with /buffer close or /close
  • irc: fix add of channel to autojoin option when joining a channel with a buffer still opened
  • relay: fix save of channels in autojoin option when JOIN and PART commands are received from an IRC relay client (issue #1771)
  • trigger: add ${buffer.notify} > 0 in conditions of default trigger "beep"
  • trigger: fix completion of command /trigger add when there are spaces in the following arguments
  • trigger: fix memory leak in command /trigger addinput

Download

https://weechat.org/download/weechat/3.6/

v3.5

27 Mar 14:14
Compare
Choose a tag to compare

New features

  • core: search in message tags when tags are displayed with /debug tags
  • core: add support of date and tags in messages displayed in buffers with free content, add function printf_y_date_tags (issue #1746)
  • irc: add command /autojoin, add server option "autojoin_dynamic"
  • irc: add IRC message tags in messages displayed (issue #1680)
  • relay: add zstd (Zstandard) compression in weechat protocol, remove option compression from init command, rename option relay.network.compression_level to relay.network.compression
  • trigger: add variables ${tg_tag_irc_xxx} containing IRC message tags (issue #1680)

Bug fixes

  • core: fix memory leak when removing a line on a buffer with free content
  • core: remove obsolete option weechat.plugin.debug (issue #1744)
  • core: fix search of commands with UTF-8 chars in name when option weechat.look.command_incomplete is on (issue #1739)
  • core: fix display of hotlist in buflist after changing value of option weechat.look.hotlist_sort (issue #1733)
  • api: add function buffer_new_props (issue #1759)
  • api: fix add of infolist items in hashtable when prefix contains UTF-8 chars in function hashtable_add_from_infolist (issue #1739)
  • guile: remove disabling of guile gmp allocator with Guile ≥ 3.0.8
  • irc: fix completion of channel topic with UTF-8 chars (issue #1739)
  • irc: fix parsing of messages 311, 312, 327 (whois) and 314 (whowas) in case of missing parameters
  • irc: fix parsing of message 223 (m_filter) sent by InspIRCd server (issue #1751)
  • irc: fix parsing of message 338 (whois, host) sent by Rizon server (issue #1737)
  • irc: fix display of message 344 received as whois geo info (issue #1736)
  • irc: fix display of message 901 (you are now logged out) (issue #1758)
  • irc: fix display of IRC numeric messages with no parameters
  • python: fix crash in hook callbacks after script loading failure (issue #1740)
  • scripts: allow NULL in parameters "default_value" and "value" of function config_new_option (issue #1761)
  • scripts: auto-load scripts with supported extensions only (issue #1698)
  • tcl: add constant $::weechat::WEECHAT_NULL (issue #1761)
  • trigger: fix search of triggers with UTF-8 chars in name (issue #1739)
  • xfer: fix auto-accept of server/nick when the server name contains UTF-8 chars (issue #1739)

Tests

  • core: add tests on GUI chat functions
  • core: add build of Debian packages in CI

Build

  • debian: change dependency libargon2-0-dev to libargon2-dev (debian #1005703)
  • ruby: add detection of Ruby 3.1

Download

https://weechat.org/download/weechat/3.5/

v3.4.1

20 Mar 17:21
Compare
Choose a tag to compare

Bug fixes

  • core: set again TLS verification functions after options weechat.network.gnutls_ca_system and weechat.network.gnutls_ca_user are changed (issue #1763)

Download

https://weechat.org/download/weechat/3.4.1/

v3.4

18 Dec 08:31
Compare
Choose a tag to compare

New features

  • core: add support of static arrays in hdata
  • core: add command /toggle
  • api: add parameters pointers, extra_vars and options in function hdata_search
  • api: add user variables in evaluation of expressions with define:name,value
  • api: add IRC message parameters param1 to paramN and num_params in output of irc_message_parse
  • irc: allow quotes around IRC message in command /server fakerecv
  • trigger: hide key and password in command /msg nickserv setpass nick key password
  • trigger: add support of option -server when hiding passwords in command /msg nickserv register

Bug fixes

  • core: fix memory leak in evaluated expression split:number,seps,flags,xxx when multiple "strip_items" are given
  • core: fix random integer number with large range in evaluation of expressions on GNU/Hurd
  • core: fix access to integer/long/time arrays in hdata
  • api: fix search of option when the section is not given in functions config_search_option and config_search_section_option
  • irc: fix join of channels with long name (issue #1717)
  • irc: fix parsing of parameters in all IRC messages (issue #1666)
  • irc: fix parsing of CAP message when there is no prefix (issue #1707)
  • irc: fix parsing of TAGMSG message when there is a colon before the channel

Documentation

  • doc: remove tester's guide
  • doc: add dark theme (automatic, following browser/desktop settings)
  • doc: make build reproducible
  • doc: disable web fonts
  • doc: switch from prettify to pygments for syntax highlighting

Tests

  • core: add build with CMake and Ninja in CI
  • core: add build on macOS 11 in CI

Build

  • ruby: add detection of Ruby 3.0 (issue #1721, issue #1605)
  • core: add targets "changelog" and "rn" to build HTML version of ChangeLog and release notes (CMake build only)

Download

https://weechat.org/download/weechat/3.4/

v3.3

19 Sep 10:33
Compare
Choose a tag to compare

New features

  • 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 /debug
  • 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 (issue #1689)
  • api: add random integer number in evaluation of expressions with "random:min,max"
  • api: add function string_cut
  • api: add function file_copy (issue #1667)
  • api: remember insertion order in hashtables
  • api: add keys/values with tags in output of irc_message_parse_to_hashtable (issue #1654)
  • irc: add option "-parted" in command /allchan (issue #1685)
  • irc: allow signals "irc_raw_in" and "irc_in" to eat messages (issue #1657)
  • irc: implement IRCv3.2 SASL authentication, add command /auth, reconnect by default to the server in case of SASL authentication failure (issue #413)
  • irc: add support of capability "message-tags" and TAGMSG messages (issue #1654)
  • irc: enable all capabilities by default (if supported by server and WeeChat), change default value of option irc.server_default.capabilities to "*" (issue #320)
  • irc: add options irc.look.display_account_message and irc.look.display_extended_join (issue #320)
  • irc: add command /setname, add support of message and capability "setname" (issue #1653)
  • irc: always set realname in nicks even when extended-join capability is not enabled (issue #1653)
  • irc: add support of FAIL/WARN/NOTE messages (issue #1653)
  • irc: drop support of DH-BLOWFISH and DH-AES SASL mechanisms (issue #175)
  • typing: new plugin "typing": display users currently writing messages on IRC channel/private buffers

Bug fixes

  • core: fix decoding of attributes in basic ANSI colors (issue #1678)
  • api: fix function string_match with joker in the string if multiple words matched in input string
  • irc: fix send of empty JOIN when connecting to a server with only parted channels (issue #1638)
  • irc: fix SASL authentication when AUTHENTICATE message is received with a server name (issue #1679)
  • irc: remove unneeded message about Diffie-Hellman shared secret exchange during SSL connection to server (issue #857)
  • irc: escape/unescape IRC message tags values (issue #1654)
  • irc: set notify level to "private" for received WALLOPS
  • script: fix move of installed script on another filesystem (issue #1667)

Documentation

  • add Spanish FAQ (issue #1656)
  • add Serbian translations (issue #1655)

Tests

  • core: switch to PHP 8.0 in CI
  • core: add build on macOS in CI

Build

  • core: fix build on macOS (issue #1662)
  • lua: add detection of Lua 5.4
  • php: add support of PHP 8.0 and 8.1 (issue #1599, issue #1668)

Download

https://weechat.org/download/weechat/3.3/

v3.2.1

04 Sep 14:39
Compare
Choose a tag to compare

Bug fixes

  • relay: fix crash when decoding a malformed websocket frame

Download

https://weechat.org/download/weechat/3.2.1/

v3.2

13 Jun 08:01
Compare
Choose a tag to compare

New features

  • core: use XDG directories by default (config, data, cache, runtime) (issue #1285)
  • 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 (issue #972)
  • 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) (issue #1595)
  • core: quit WeeChat by default when signal SIGHUP is received in normal run, reload configuration in weechat-headless (issue #1595)
  • core: add signals "cursor_start" and "cursor_end"
  • api: add function crypto_hmac (issue #1628)
  • 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 prefixes ${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 (issue #1628)
  • 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 (issue #1622)
  • 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 (issue #1377)
  • relay: evaluate option relay.network.ssl_cert_key, change default value to ${weechat_config_dir}/ssl/relay.pem
  • script: change default value of option script.scripts.path to ${weechat_cache_dir}/script
  • trigger: add variables ${tg_shell_argc} and ${tg_shell_argvN} in command trigger evaluated strings (issue #1624)
  • xfer: change default value of option xfer.file.download_path to ${weechat_data_dir}/xfer

Bug fixes

  • core: split startup commands before evaluating them (issue #1643)
  • core: set server name when connecting to server with TLS (SNI extension) only if it's not an IPV4/IPv6 (issue #1635)
  • core: use function mallinfo2 instead of mallinfo when available (issue #1636)
  • core: display a warning when the file with certificate authorities is not found (option weechat.network.gnutls_ca_file)
  • core: evaluate left/right part of comparison after split on the comparison operator in ${if:xxx} (issue #1627)
  • core: prevent switching to start of visited buffers when jumping to next (issue #1591, issue #1592)
  • core: recreate buflist and fset bars on /reload when WeeChat is started without configuration files (issue #1618)
  • buflist: fix comparison of hotlists in option buflist.look.sort (issue #1621)
  • irc: split server command before evaluating it (issue #1643)
  • xfer: make file transfer fail when option xfer.file.auto_rename is off and file already exists (issue #1633)

Tests

  • core: switch from Ubuntu 18.04 to 20.04 in CI
  • trigger: add tests on main trigger functions

Build

  • core: remove build option CA_FILE
  • core: set WeeChat home to empty string by default in CMake and autotools

Download

https://weechat.org/download/weechat/3.2/