Skip to content

Releases: weechat/weechat

v4.1.1

27 Oct 06:12
Compare
Choose a tag to compare

Bug fixes

  • core: fix crash when a custom bar item name is already used by a default bar item (#2034)
  • core: fix random timeouts when a lot of concurrent processes are launched with hook_process (#2033)
  • irc: revert compute of nick colors to case sensitive way, deprecate again infos "irc_nick_color" and "irc_nick_color_name" (#194, #2032)

Build

  • core: make libintl.h required if CMake option ENABLE_NLS is enabled (#2031)

Download

https://weechat.org/download/weechat/4.1.1/

v4.0.6

27 Oct 06:11
Compare
Choose a tag to compare

Bug fixes

  • core: fix crash when a custom bar item name is already used by a default bar item (#2034)
  • core: fix generation of TOTP on Big Endian systems (#2021)
  • irc: move value -all at the end of completions for command /ignore del
  • irc: fix memory leak when joining channels with keys

Build

  • core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (#2026, #2031)

Download

https://weechat.org/download/weechat/4.0.6/

v4.1.0

15 Oct 07:20
Compare
Choose a tag to compare

New features

  • core: add completion "eval_variables", used in completion of /eval
  • core: add command /sys to show resource limits/usage and suspend WeeChat process, add key Ctrl+z to suspend WeeChat (#985)
  • core: ignore key bindings with empty command
  • core: add support of quotes in commands /key bind and /key bindctxt
  • core: evaluate command given to /repeat with contextual variables (#2007)
  • core: add option callbacks in command /debug
  • core: add option type "enum" (#1973)
  • core: add options weechat.buffer.* to save buffer properties set by user, add option setauto in command /buffer (#352)
  • core: add parameters and key bindings to move to edges of current area with commands /cursor go and /cursor move (#1282)
  • core: add variables "_chat_focused_line_bol" and "_chat_focused_line_eol" in focus data (#1955)
  • api: add function hook_url, add option url in command /debug (#1723)
  • api: add support of path to variable and hashtable comparison in function hdata_compare (#1066)
  • api: add infos "nick_color_ignore_case" and "nick_color_name_ignore_case" (#194)
  • api: add info "buffer" (#1962)
  • buflist: add support of item names in command /buflist refresh, add completions "buflist_items" and "buflist_items_used"
  • buflist: increase max number of buflist items from 3 to 5 (#1703)
  • fset: add variable allowed_values in options, add options fset.color.allowed_values and fset.color.allowed_values_selected
  • fset: allow long type name in type filter
  • irc: add count for all nick modes in output of /names (#97, #2020)
  • irc: add count and mode filter in command /names (#98)
  • irc: compute color in case insensitive way, reintroduce infos "irc_nick_color" and "irc_nick_color_name", add support of server name (#194)
  • irc: add buffer for /list reply, add options irc.color.list_buffer_line_selected, irc.color.list_buffer_line_selected_bg, irc.look.list_buffer_sort, irc.look.list_buffer_scroll_horizontal, irc.look.new_list_position, irc.look.list_buffer_topic_strip_colors (#1972)
  • irc: display commands 716/717 in private buffer (if present) (#146)
  • irc: create default options irc.ctcp.* when file irc.conf is created (#1974)
  • irc: evaluate options irc.ctcp.* (#1974)
  • irc: build dynamically the list of CTCPs supported in reply to "CTCP CLIENTINFO" (#1974)
  • irc: remove Git revision and compilation date from CTCP VERSION reply (#1974)
  • irc: remove default CTCP replies FINGER and USERINFO (#1974)
  • irc, xfer: add support of passive DCC (#2004, #487)
  • script: rename parameters up/down/go to -up/-down/-go in command /script
  • script: allow jump to the last script with command /script -go end
  • script: allow commands /script autoload, /script noautoload, /script toggleautoload with scripts not present in the repository (#1980)
  • trigger: add options -o, -ol, -i and -il in command /trigger list (#1953)

Bug fixes

  • core: fix zombie processes after fork (hook process or connect) (#1994)
  • core: fix generation of TOTP on Big Endian systems (#2021)
  • core: fix cursor position after /plugin list -i or /plugin list -il
  • core: display focus hashtable for debug even if no key is matching
  • fset: add local key bindings during the buffer creation
  • fset: remove extra spaces between min and max values when second format is used
  • fset: fix mouse actions when second format is used
  • fset: apply option fset.color.help_description (#1988)
  • irc: move value -all at the end of completions for command /ignore del
  • irc: fix memory leak when joining channels with keys
  • irc: fix unexpected message sent to server when part of the second line of an IRC command (#1992)
  • irc: fix display of country code in message 344 received as whois geo info (#1736)
  • irc: add missing "account-tag" in list of supported capabilities
  • irc: add channel in "autojoin" server option only when the channel is actually joined (#1990)
  • relay: synchronize nick modes with IRC client upon connection (#1984)
  • script: add local key bindings during the buffer creation
  • script: add parameters up/down/go in /help script and command completion
  • script: fix cursor position after /script list -i or /script list -il
  • script: fix buffer used by command /script list -i|-il|-o|-ol
  • xfer: display an error message when opening file for read or write fails (#2010)

Tests

  • core: add tests on GUI buffer functions

Build

  • core: fix build error if CMake option ENABLE_NLS is turned to off or if required dependencies are not found (#2026)
  • core, logger, relay: make zstd dependency optional (#2024)

Download

https://weechat.org/download/weechat/4.1.0/

v4.0.5

24 Sep 07:40
Compare
Choose a tag to compare

New features

  • core: automatically backup config file read if it has an unsupported version (#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 (#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 (#2016)
  • irc: fix title of private buffers wrongly set to own address when capability echo-message is enabled (#2016)
  • irc: fix autojoin of channels when private buffers are opened (#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 (#2019)
  • script: fix autoload of multiple scripts at once with /script autoload (#2018)
  • script: fix crash when a /script command triggers another /script command (#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

22 Aug 09:59
Compare
Choose a tag to compare

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 (#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 (#2000)
  • logger: remove trailing empty line in display of backlog (#2002)
  • perl: fix display of non-ASCII chars after load of a script with Perl >= 5.38 (#1996)
  • script: adjust scroll after command /script go N
  • scripts: fix function string_parse_size on 32-bit systems (python and ruby) (#1999)
  • xfer: fix conversion of string to IPv4 on 32-bit systems (#1999)

Tests

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

Download

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

v4.0.3

08 Aug 20:14
Compare
Choose a tag to compare

Bug fixes

  • core: fix input length and crash after delete of line (#1989)
  • irc: fix display of self CTCP message containing bold attribute (#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 (#1982)
  • irc: fix display of outgoing notice with channel when capability "echo-message" is enabled (#1991)
  • relay: fix display of IRC CTCP messages received from client (#1986)

Build

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

Download

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

v4.0.2

12 Jul 19:06
Compare
Choose a tag to compare

Bug fixes

  • core: fix renaming of options with command /item rename (#1978)
  • core: don't send "key_pressed" signal again for the same key press (#1976)
  • core: don't send "key_combo_*" signals for incomplete keys (#1976)
  • core: add key ctrl-backspace in /help key (#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

30 Jun 19:34
Compare
Choose a tag to compare

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 (#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 (#1965)
  • irc: reply to a CTCP request sent to self nick (#1966)
  • irc: sent "QUIT" message to servers connected with TLS on /upgrade

Download

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

v4.0.0

24 Jun 21:13
Compare
Choose a tag to compare

New features

  • core: use human readable key bindings, separate keys with comma in combos, remove modifier "meta2-", add option legacy in command /key (#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 (#1238)
  • core: add option key in command /debug (#1238)
  • core: force ctrl keys to lower case when they are added (#1875)
  • core: use 256 colors by default and always allow 256 colors, find nearest color if less colors are available in terminal (#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 (#1502, #1503, #1504)
  • core: render newline characters in chat line messages (#1908)
  • core: don't split on newline characters in printf_date_tags when input_multiline is set (#1909)
  • core: add key "l" in cursor mode to quote line, add variable "_chat_focused_line" in function hashtable sent to hook_focus callback (#1913, #1914)
  • core: add option split_return in command /input (#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 (#1895)
  • core: add access to hashtable properties in evaluation of expressions (#1888)
  • core: display similar command names when a command is unknown (#1877)
  • core: rename option weechat.color.status_name_ssl to weechat.color.status_name_tls
  • core, plugins: make many identifiers case sensitive (#1872, #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 (#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 (#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 (#1872)
  • alias: add $& to replace all arguments with double quotes escaped (#1140, #1190)
  • alias: add options missing and rename in command /alias
  • fifo: add support of escaped chars in text or commands sent (#1950)
  • fset: add options fset.color.color_name and fset.color.color_name_selected (#1920)
  • irc: rename "ssl" options to "tls", connect with TLS and port 6697 by default
  • irc: add support of capabilities "batch" and "draft/multiline" (#1292, #1923)
  • irc: add support of capability "echo-message" (#139)
  • irc: display CTCP ACTION to channel on the channel buffer (#207)
  • irc: display STATUSMSG actions differently from standard actions on channels (#1577)
  • irc: add modifier "irc_cap_sync_req" (#1767)
  • irc: add support of "LINELEN" in message 005 (max message length in bytes) (#1927)
  • irc: add support of "UTF8ONLY" in message 005 (#1688)
  • irc: add command /action (#201, #1577)
  • irc: add command /rules (#1864)
  • irc: add command /knock (#7)
  • irc: add server option "registered_mode", add fields "authentication_method" and "sasl_mechanism_used" in server (#1625)
  • irc: add option join in command /autojoin
  • irc: use key when /joining in open channel buffer (#1260)
  • irc: add option buffer in command /autojoin sort (#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 (#1808)
  • logger: add option logger.file.log_conditions (#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 (#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 (#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 (#1939)
  • core: fix completion after newline in input (#1925)
  • core: fix partial completion when the common prefix found is empty (#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 (#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 (#1883)
  • core: allow command /input move_next_word going to the end of line (#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 (#1871)
  • core: fix update of terminal title in some terminals like suckless terminal (stterm) (#1882)
  • core: fix infinite loop on startup when running some gui commands before the switch to core buffer is performed (#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 (#1892)
  • guile: fix crash when plugin is loaded on GNU/Hurd (#1951)
  • irc: fix format of IRC tags displayed in messages (use "=" to separate key from value, do not convert "_" to "-") (#1929)
  • irc: reset all internal servers variables when disconnecting
  • irc: start from the beginning of nicks at automatic reconnection (#337, #965)
  • irc: fix join of channels in "autojoin" server option on first connection to server if auto reconnection is performed (#1873)
  • irc: update autojoin option with redirected channels when autojoin_dynamic is enabled (#1898)
  • irc: update secure data when server autojoin option contains ${sec.data.xxx} and option autojoin_dynamic is enabled (#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 (#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 (#1926)
  • lua: fix crash with print when the value to print is not a string (#1904, #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" (#1040)
  • ruby: fix crash on quit when a child process is still running (#1889, #1915)
  • ruby: fix crash in display of exception backtrace with Ruby 3 (#1631, #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 (#1935)
  • typing: fix crash when pointer buffer is not received in callback for signal "input_text_changed" (#1869)
  • typing: remove nicks typing even when option typing.look.enabled_self is off (#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 (#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 (#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

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/