Weechat Versions Save

The extensible chat client.

v4.0.5

7 months ago

New features

  • core: automatically backup config file read if it has an unsupported version (issue #2013)
  • core: display a message when a configuration file is updated to a newer version
  • python: make stub (weechat.pyi) compatible with Python 3.8 and 3.9 (issue #2006)

Bug fixes

  • irc: add option irc.look.open_pv_buffer_echo_msg to open private buffer on self message when capability echo-message is enabled (issue #2016)
  • irc: fix title of private buffers wrongly set to own address when capability echo-message is enabled (issue #2016)
  • irc: fix autojoin of channels when private buffers are opened (issue #2012)
  • irc: fix string comparison when CASEMAPPING is set to "ascii"
  • script: fix removal of script in system directory while trying to install a script (issue #2019)
  • script: fix autoload of multiple scripts at once with /script autoload (issue #2018)
  • script: fix crash when a /script command triggers another /script command (issue #923)
  • xfer: fix memory leak on plugin unload

Tests

  • irc: add tests on server functions

Download

https://weechat.org/download/weechat/4.0.5/

v4.0.4

8 months ago

Bug fixes

  • core: fix integer overflow when setting integer option with ++N or --N
  • core: fix increment/decrement of options weechat.notify.*
  • irc: add missing tags on multiline messages (issue #1987)
  • irc: fix redirection of command /list when the reply doesn't start with message 321 (start of /list)
  • irc: fix wrong time displayed for CTCP messages received from self nick (issue #2000)
  • logger: remove trailing empty line in display of backlog (issue #2002)
  • perl: fix display of non-ASCII chars after load of a script with Perl >= 5.38 (issue #1996)
  • script: adjust scroll after command /script go N
  • scripts: fix function string_parse_size on 32-bit systems (python and ruby) (issue #1999)
  • xfer: fix conversion of string to IPv4 on 32-bit systems (issue #1999)

Tests

  • irc: fix tests on function irc_join_compare_join_channel (issue #1997)
  • scripts: fix tests of functions print_date_tag, print_y_date_tags and hook_timer on 32-bit systems (issue #1999)

Download

https://weechat.org/download/weechat/4.0.4/

v4.0.3

9 months ago

Bug fixes

  • core: fix input length and crash after delete of line (issue #1989)
  • irc: fix display of self CTCP message containing bold attribute (issue #1981)
  • irc: fix memory leak in IRC message parser
  • irc: fix switch to channel manually joined when server option autojoin_dynamic is on and option irc.look.buffer_switch_autojoin is off (issue #1982)
  • irc: fix display of outgoing notice with channel when capability "echo-message" is enabled (issue #1991)
  • relay: fix display of IRC CTCP messages received from client (issue #1986)

Build

  • doc: display a warning if a locale is missing with fallback to English for auto-generated content (issue #1985)

Download

https://weechat.org/download/weechat/4.0.3/

v4.0.2

10 months ago

Bug fixes

  • core: fix renaming of options with command /item rename (issue #1978)
  • core: don't send "key_pressed" signal again for the same key press (issue #1976)
  • core: don't send "key_combo_*" signals for incomplete keys (issue #1976)
  • core: add key ctrl-backspace in /help key (issue #1975)
  • core: keep keys ctrl-H and ctrl-? (in lower case) if they were manually bound to custom commands in a previous version

Tests

  • core: fix hdata tests failure on Alpine 3.18
  • relay: fix crash in tests on Alpine 3.18

Build

  • php: fix detection of PHP 8.2 on Alpine 3.18

Download

https://weechat.org/download/weechat/4.0.2/

v4.0.1

10 months ago

Bug fixes

  • core: force key "return" to command "/input return" when migrating legacy keys
  • core: display actual key name and command with key Alt+k, remove key Alt+K (grab raw key) and associated commands /input grab_raw_key and /input grab_raw_key_command
  • core: check for newline characters in string_is_whitespace_char (issue #1968)
  • api: do not convert option name to lower case in API functions config_set_plugin and config_set_desc_plugin
  • guile: fix crash on quit with Guile < 3 (issue #1965)
  • irc: reply to a CTCP request sent to self nick (issue #1966)
  • irc: sent "QUIT" message to servers connected with TLS on /upgrade

Download

https://weechat.org/download/weechat/4.0.1/

v4.0.0

10 months ago

New features

  • core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option legacy in command /key (issue #1238, task #10317)
  • core: make keys normal options, so they are shown and can be updated with /set and /fset commands (task #12427, task #11783)
  • core: add key Alt+K (upper case) to grab raw key and its command (issue #1238)
  • core: add option key in command /debug (issue #1238)
  • core: force ctrl keys to lower case when they are added (issue #1875)
  • core: use 256 colors by default and always allow 256 colors, find nearest color if less colors are available in terminal (issue #1920)
  • core: insert multiple pasted lines in input instead of sending immediately, add keys to move and delete in a single line and whole input, add option weechat.look.input_multiline_lead_linebreak (issue #1502, issue #1503, issue #1504)
  • core: render newline characters in chat line messages (issue #1908)
  • core: don't split on newline characters in printf_date_tags when input_multiline is set (issue #1909)
  • core: add key "l" in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (issue #1913, issue #1914)
  • core: add option split_return in command /input (issue #1916)
  • core: send all command line parameters not beginning with a dash to all plugins
  • core: add command /reset to reset options to their default values
  • core: add option rename in command /bar
  • core: add relative move of read marker with /buffer set unread [+/-]N (issue #1895)
  • core: add access to hashtable properties in evaluation of expressions (issue #1888)
  • core: display similar command names when a command is unknown (issue #1877)
  • core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls
  • core, plugins: make many identifiers case sensitive (issue #1872, issue #398, bug #32213)
  • core: add item "mouse_status" in default status bar, change default color to lightgreen
  • core, trigger: add options weechat.color.chat_status_disabled and weechat.color.chat_status_enabled, remove options trigger.color.trigger and trigger.color.trigger_disabled, add enabled/disabled status color in output of /filter list (issue #1820)
  • core: add completions "filters_names_disabled" and "filters_names_enabled", used in completion of /filter disable and /filter enable
  • api: add function config_set_version (issue #1238)
  • api: don't split on newline by default in functions command and command_options when input_multiline is set to 0
  • api: add optional argument with version in info "version_number"
  • api: add info "auto_load_scripts"
  • alias: use lower case for default aliases, rename all aliases to lower case on upgrade (issue #1872)
  • alias: add $& to replace all arguments with double quotes escaped (issue #1140, issue #1190)
  • alias: add options missing and rename in command /alias
  • fifo: add support of escaped chars in text or commands sent (issue #1950)
  • fset: add options fset.color.color_name and fset.color.color_name_selected (issue #1920)
  • irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default
  • irc: add support of capabilities "batch" and "draft/multiline" (issue #1292, issue #1923)
  • irc: add support of capability "echo-message" (issue #139)
  • irc: display CTCP ACTION to channel on the channel buffer (issue #207)
  • irc: display STATUSMSG actions differently from standard actions on channels (issue #1577)
  • irc: add modifier "irc_cap_sync_req" (issue #1767)
  • irc: add support of "LINELEN" in message 005 (max message length in bytes) (issue #1927)
  • irc: add support of "UTF8ONLY" in message 005 (issue #1688)
  • irc: add command /action (issue #201, issue #1577)
  • irc: add command /rules (issue #1864)
  • irc: add command /knock (issue #7)
  • irc: add server option "registered_mode", add fields "authentication_method" and "sasl_mechanism_used" in server (issue #1625)
  • irc: add option join in command /autojoin
  • irc: use key when /joining in open channel buffer (issue #1260)
  • irc: add option buffer in command /autojoin sort (issue #1876)
  • irc: add ${username} in server options "nicks" and "username", change their default values to use it
  • irc: add infos "irc_server_cap" and "irc_server_cap_value"
  • irc: add option irc.look.display_host_notice
  • irc: add tag "new_host_xxx" in message displayed for command CHGHOST (issue #1808)
  • logger: add option logger.file.log_conditions (issue #1942)
  • logger: add info "logger_log_file"
  • relay: rename "ssl" options and protocol to "tls"
  • relay: make TLS certificate/key loading error handling more verbose (issue #1558)
  • relay: add modifiers "relay_client_irc_in", "relay_client_irc_out1" and "relay_client_irc_out" in irc protocol
  • relay: add support of capability "echo-message" in irc protocol (issue #1949)
  • relay: add handshake option "escape_commands" in weechat protocol
  • trigger: add completions "trigger_names_disabled" and "trigger_names_enabled", used in completion of /trigger disable and /trigger enable

Bug fixes

  • core: fix refresh of bar item "input_search" after buffer switch in root bars (issue #1939)
  • core: fix completion after newline in input (issue #1925)
  • core: fix partial completion when the common prefix found is empty (issue #340)
  • core: display a specific error when trying to bind a key without area in mouse context
  • core: fix display of key with command /key bindctxt <context> <key>
  • core: fix default value of bar options (issue #846)
  • core: allow any valid boolean value in command /bar set <name> separator xxx
  • core: run config hooks only when value or default value is actually changed in set/reset/unset functions
  • core: fix crash in case of NULL message sent to function gui_chat_printf_y_date_tags (issue #1883)
  • core: allow command /input move_next_word going to the end of line (issue #1881)
  • core: ignore incomplete ctrl/meta/meta2 codes in keys
  • core: fix display glitch in command errors when a wide char is set in option weechat.look.command_chars (issue #1871)
  • core: fix update of terminal title in some terminals like suckless terminal (stterm) (issue #1882)
  • core: fix infinite loop on startup when running some gui commands before the switch to core buffer is performed (issue #1917)
  • api: readjust string size in function string_dyn_free when string is not freed
  • buflist: do not display keys added in default context on first load
  • exec: remove trailing "M" (carriage return) in output of commands
  • fset: remove scroll to top of fset buffer when options are added or removed (issue #1892)
  • guile: fix crash when plugin is loaded on GNU/Hurd (issue #1951)
  • irc: fix format of IRC tags displayed in messages (use "=" to separate key from value, do not convert "_" to "-") (issue #1929)
  • irc: reset all internal servers variables when disconnecting
  • irc: start from the beginning of nicks at automatic reconnection (issue #337, issue #965)
  • irc: fix join of channels in "autojoin" server option on first connection to server if auto reconnection is performed (issue #1873)
  • irc: update autojoin option with redirected channels when autojoin_dynamic is enabled (issue #1898)
  • irc: update secure data when server autojoin option contains ${sec.data.xxx} and option autojoin_dynamic is enabled (issue #1934)
  • irc: don't switch to buffer of joined channel if it was not manually joined nor present in server autojoin option
  • irc: fix target buffer for commands 432/433 (erroneous nickname/nickname already in use) when the nickname looks like a channel
  • irc: display command 437 on server buffer when nickname cannot change while banned on channel (issue #88)
  • irc: add messages 415 (cannot send message to channel) and 742 (mode cannot be set)
  • irc: add missing tag "log3" in notify messages
  • irc: add missing tags "irc_cap" and "log3" in cap messages (client capability)
  • irc: fix split of CTCP message with no arguments
  • irc: remove extra space in CTCP ACTION message sent without arguments
  • logger: fix display of multiline messages in backlog (issue #1926)
  • lua: fix crash with print when the value to print is not a string (issue #1904, issue #1905)
  • relay: fix crash on /upgrade when at least a client is connected with weechat protocol
  • relay: fix connection with IRC clients sending "CAP REQ :" (without capability) and not sending "CAP END" (issue #1040)
  • ruby: fix crash on quit when a child process is still running (issue #1889, issue #1915)
  • ruby: fix crash in display of exception backtrace with Ruby 3 (issue #1631, issue #1886)
  • script: remove trailing "J" (line feed char) in source of scripts displayed
  • spell: check buffer pointer received in info "spell_dict"
  • trigger: make default triggers "cmd_pass", "cmd_pass_register" and "server_pass" compatible with multiline input (issue #1935)
  • typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (issue #1869)
  • typing: remove nicks typing even when option typing.look.enabled_self is off (issue #1718)

Tests

  • core: add tests on URL functions
  • gui: add tests on bar and key functions
  • alias: add tests on alias functions
  • irc: check tags in messages displayed by IRC plugin
  • irc: add tests on function irc_server_alloc_with_url
  • irc: add tests on message/notice/action/CTCP sent
  • logger: add tests on tail functions
  • relay: add tests on "irc" protocol

Build

  • core: remove build with autotools (issue #1860)
  • core: remove RPM packaging
  • core: remove build of .bz2 and .zst files in make dist
  • core: remove obsolete cpack config
  • core: add "stable-number" and "devel-number" in script version.sh
  • core: add quotes around paths in CMake files (issue #29)
  • doc: convert docgen.py to C, remove autogen files from repository, add parameter --doc-gen to weechat-headless binary, add CMake option ENABLE_DOC_INCOMPLETE

Download

https://weechat.org/download/weechat/4.0.0/

v3.8

1 year ago

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

1 year ago

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

1 year ago

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

1 year ago

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/