Releases: weechat/weechat
Releases Β· weechat/weechat
v4.1.1
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
v4.0.6
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
v4.1.0
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
v4.0.5
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
v4.0.4
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
v4.0.3
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
v4.0.2
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
v4.0.1
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
v4.0.0
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
andcommand_options
wheninput_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
andrename
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
toweechat-headless
binary, add CMake optionENABLE_DOC_INCOMPLETE
Download
v3.8
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)