0a627b417c
- update to 4.2.1: * When building from a tarball without Sphinx (that is, with - DBUILD_DOCS=OFF or when sphinx-build is not found), builtin man pages and help files were missing, which has been fixed (#12052). * fish_config’s theme selector (the “colors” tab) was broken, which has been fixed (#12053). - update to 4.2.0 == NOTABLE FIXES AND IMPROVEMENTS == * History-based autosuggestions now include multi-line commands. * A transient prompt containing more lines than the final prompt will now be cleared properly (#11875) * Taiwanese Chinese translations have been added. * French translations have been supplemented (#11842) + DEPRECATIONS AND REMOVALS * fish now assumes UTF-8 for character encoding even if the system does not have a UTF-8 locale. Input bytes which are not valid UTF-8 are still round-tripped correctly. For example, file paths using legacy encodings can still be used, but may be rendered differently on the command line. * On systems where no multi-byte locale is available, fish will no longer fall back to using ASCII replacements for Unicode characters such as “…”. == INTERACTIVE IMPROVEMENTS == * The title of the terminal tab can now be set separately from the window title by defining the fish_tab_title function (#2692). * fish now hides the portion of a multiline prompt that is scrolled out of view due to a huge command line. This prevents duplicate lines after repainting with partially visible prompt (#11911). * fish_config prompt’s choose and save subcommands have been taught to reset fish_mode_prompt in addition to the other prompt functions (#11937). * fish no longer force-disables mouse capture (DECSET/DECRST 1000), so you can use those commands to let mouse clicks move the cursor or select completions items (#4918). * The alt-p binding no longer adds a redundant space to the command line. * When run as a login shell on macOS, fish now sets MANPATH correctly when that variable was already present in the environment (#10684). * A Windows-specific case of the web-based config failing to launch has been fixed (#11805). * A MSYS2-specific workaround for Konsole and WezTerm has been added, to prevent them from using the wrong working directory when opening new tabs (#11981). == FOR DISTRIBUTORS AND DEVELOPERS == * Release tags and source code tarballs are GPG-signed again (#11996). * Documentation in release tarballs is now built with the latest version of Sphinx, which means that pre-built man pages include OSC 8 hyperlinks. * The Sphinx dependency is now specified in pyproject.toml, which allows you to use uv to provide Sphinx for building documentation (e.g. uv run cargo install --path .). * The minimum supported Rust version (MSRV) has been updated to 1.85. * The standalone build mode has been made the default. This means that the files in $CMAKE_INSTALL_PREFIX/share/fish will not be used anymore, except for HTML docs. As a result, future upgrades will no longer break running shells if one of fish’s internal helper functions has been changed in the updated version. For now, the data files are still installed redundantly, to prevent upgrades from breaking already- running shells (#11921). To reverse this change (which should not be necessary), patch out the embed-data feature from cmake/Rust.cmake. This option will be removed in future. * OpenBSD 7.8 revealed an issue with fish’s approach to displaying builtin man pages, which has been fixed. == REGRESSION FIXES == * (from 4.1.0) Fix the web-based config for Python 3.9 and older (#12039). * (from 4.1.0) Correct wrong terminal modes set by fish -c 'read; cat (#12024). * (from 4.1.0) On VTE-based terminals, stop redrawing the prompt on resize again, to avoid glitches. * (from 4.1.0) Fix error using man for the commands ! . : [ { (#11955). * (from 4.1.0) Fix build issues on illumos systems (#11982). * (from 4.1.0) Fix crash on invalid function command (#11912). * (from 4.0.0) Fix build on SPARC and MIPS Linux by disabling SIGSTKFLT. * (from 4.0.0) Fix crash when passing negative PIDs to builtin wait (#11929). * (from 4.0.0) On Linux, fix status fish-path output when fish has been reinstalled since it was started. * (from 4.1.0) On MSYS2, fix saving/loading of universal variables (#11948). - filter out windows specific cargo dependencies - update to 4.1.2 * Fixed spurious error output when completing remote file paths for scp (#11860). * Fixed the alt-l binding not formatting ls output correctly (one entry per line, no colors) (#11888). * Fixed an issue where focus events (currently only enabled in tmux) would cause multiline prompts to be redrawn in the wrong line (#11870). * Stopped printing output that would cause a glitch on old versions of Midnight Commander (#11869). * Added a fix for some configurations of Zellij where escape key processing was delayed (#11868). * Fixed a case where the web-based configuration tool would generate invalid configuration (#11861). * Fixed a case where pasting into fish -c read would fail with a noisy error (#11836). * Fixed a case where upgrading fish would break old versions of fish that were still running. * In general, fish still needs to be restarted after it is upgraded, except for standalone builds. - update to 4.1.1 * Many of our new Chinese translations were more confusing than helpful; they have been fixed or removed (#11833) * Some fish_config subcommands for showing prompts and themes had been broken in standalone Linux builds (those using the embed-data cargo feature), which has been fixed (#11832) * On Windows Terminal, we observed an issue where fish would fail to read the terminal’s response to our new startup queries, causing noticeable lags and a misleading error message. A workaround has been added (#11841) * A WezTerm issue breaking shifted key input has resurfaced on some versions of WezTerm; our workaround has been extended to cover all versions for now (#11204) * Fixed a crash in the web-based configuration tool when using the new underline styles (#11840) - update to 4.1.0 * This release comprises 1396 commits since 4.0.9, contributed by 126 authors, 70 of which are new committers. * see https://github.com/fish-shell/fish-shell/releases/tag/4.1.0 - desktop file removed * see https://github.com/fish-shell/fish-shell/pull/11104Simon Lees2025-12-22 00:31:18 +00:00
1eedb3a6ba
- update to 4.0.6 * fish now properly inherits $PATH under Windows WSL2 (#11354). * Remote filesystems are detected properly again on non-Linux systems. * the :doc:printf <cmds/printf> builtin no longer miscalculates width of multi-byte characters (#11412). * For many years, fish has been "relocatable" -- it was possible to move the entire CMAKE_INSTALL_PREFIX and fish would use paths relative to its binary. Only gettext locale paths were still determined purely at compile time, which has been fixed. * the :doc:commandline <cmds/commandline> builtin failed to print the commandline set by a commandline -C invocation, which broke some completion scripts. This has been corrected (#11423). * To work around terminals that fail to parse Operating System Command (OSC) sequences, a temporary feature flag has been added. It allows you to disable prompt marking (OSC 133) by running (once) set -Ua fish_features no-mark-prompt and restarting fish (#11749). * The routines to save history and universal variables have seen some robustness improvements. * builtin :doc:status current-command <cmds/status> no longer prints a trailing blank line. * A crash displaying multi-line quoted command substitutions has been fixed (#11444). * Commands like set fish_complete_path ... accidentally disabled completion autoloading, which has been corrected. * nmcli completions have been fixed to query network information dynamically instead of only when completing the first time. * Git completions no longer print an error when no git-foo executable is in :envvar:PATH. * Custom completions like complete foo -l long -xa ... that use the output of commandline -t. on a command-line like foo -- long= have been invalidated by a change in 4.0; the completion scripts have been adjusted accordingly (#11508). * Some completions were misinterpreted, which caused garbage to be displayed in the completion list. This has been fixed. * fish no longer interprets invalid control sequences from the terminal as if they were alt-[ or alt-o key strokes. * :doc:bind <cmds/bind> has been taught about the printscreen and menu keys. * alt-delete now deletes the word right of the cursor * ctrl-alt-h erases the last word again (#11548) * alt-left alt-right were misinterpreted because they send unexpected sequences on some terminals; a workaround has been added. (#11479). * Key bindings like bind shift-A are no longer accepted; use bind shift-a or bind A. * Key bindings like bind shift-a take precedence over bind A when the key event included the shift modifier. * Bindings using shift with non-ASCII letters (such as ctrl- shift-ä) are now supported. * Bindings with modifiers such as bind ctrl-w work again on non- Latin keyboard layouts such as a Russian one. This is implemented by allowing key events such as ctrl-ц to match bindings of the corresponding Latin key, using the kitty keyboard protocol's base layout key (#11520). * Vi mode: The cursor position after pasting via p has been corrected. * Vi mode: Trying to replace the last character via r no longer replaces the last-but-one character (#11484), - includes 4.0.2 * Completions are quoted, rather than backslash-escaped, only if the completion is unambiguous. Continuing to edit the token is therefore easier (#11271). This changes the behavior introduced in 4.0.0 where all completions were quoted. * The warning when the terminfo database can't be found has been downgraded to a log message. fish will act as if the terminal behaves like xterm-256color, which is correct for the vast majority of cases (#11277, #11290). * Key combinations using the super (Windows/command) key can now (actually) be bound using the super- prefix (#11217). This was listed in the release notes for 4.0.1 but did not work correctly. * :doc:function <cmds/function> is stricter about argument parsing, rather than allowing additional parameters to be silently ignored (#11295). * Using parentheses in the :doc:test <cmds/test> builtin works correctly, following a regression in 4.0.0 where they were not recognized (#11387). * delete in Vi mode when Num Lock is active will work correctly (#11303). * Abbreviations cannot alter the command-line contents, preventing a crash (#11324). * Improvements to various completions, including new completions for wl-randr (#11301), performance improvements for cargo completions by avoiding network requests (#11347), and other improvements for btrfs (#11320), cryptsetup (#11315), git (#11319, #11322, #11323), (#11046), and systemd-analyze (#11314). * The Mercurial (hg) prompt can handle working directories that contain an embedded newline, rather than producing errors (#11348). * A number of crashes have been fixed. Triggers include prompts containing backspace characters (#11280), history pager search (#11355), invalid UTF-8 in :doc:read < cmds/read> (#11383), and the kill-selection binding (#11367) * A race condition in the test suite has been fixed (#11254), and a test for fish versioning relaxed to support downstream distributors' modifications (#11173). * Small improvements to the documentation (#11264, #11329, #11361) - checksum removed upstream - update to 4.0.1 https://github.com/fish-shell/fish-shell/releases/tag/4.0.1 * Key combinations using the super (Windows/command) key can be bound using the super- prefix (#11217). * Konsole’s menu shows the “Open folder with” option again (#11198). * $fish_color_search_match will now only be applied to the foreground color if it has an explicit foreground. For example, this allows setting: * set -g fish_color_search_match --reverse * Cursor shape commands (\e[2 q) are no longer sent in non-interactive shells or in redirections (#11255). * status gained a is-interactive-read subcommand, to check whether the script is being called from an interactive read invocation. * fish’s background tasks are now started in a way that avoids an error on macOS Terminal.app (#11181). * Using key combinations within qemu should work correctly. * Prompts containing control characters no longer cause incorrect display of command lines (#11252). * Cancelling the command-line in Vi mode displays correctly again (#11261). * The acidhub prompt properly displays the git branch again (#11179). * Completions for wine correctly include files again (#11202). * On macOS, paths from /etc/paths and /etc/manpaths containing colons are handled correctly (#10684). This functionality was included in the 4.0.0 release notes but was missing from the source code. * The XTerm modifyOtherKeys keyboard encoding is no longer used under WezTerm, as it does not work correctly in all layouts (#11204). * option-left and other similar keys should now work in iTerm versions before 3.5.12; the kitty keyboard protocol is now disabled on these versions (#11192). * The kitty keyboard protocol is no longer used under Midnight Commander, as it does not work correctly (#10640). * fish now sends the commandline along with the OSC 133 semantic prompt command start sequence. This fixes a test in the kitty terminal (#11203). * Git completions for third-party commands like “git-absorb” are completed correctly again (#11205). * Completions for diskutil no longer produce an error (#11201). * The output of certain error messages no longer prints newlines to standard output (#11248). * A number of crashes have been fixed, including file names longer than 255 bytes (#11221), using fish on a btrfs filesystem (#11219), history files that do not have the expected format (#11236), and pasting into an empty command line (#11256). - Remove fish-3.7.1-drop-pcre-tests.patch, no problem for 4.0.x - drop tests failing with pcre2 10.45 (boo#1241199) add fish-3.7.1-drop-pcre-tests.patch - update to 4.0~b1 https://fishshell.com/blog/rustport/ - new BR: cargo - add service to pull the rust vendored deps - remove dependency on /usr/bin/python3 using %python3_fix_shebang_path macro, [bsc#1212476] - add Requires: gzip for extracting manual archives for example when running fish_config -h - update to 3.7.1: * Deleting the last history entry via history delete works again (#10190). * Wildcards (*) will no longer sometimes generate paths that did not exist (#10205). * A crash when trying to run an ELF program with a missing interpreter has been fixed. This crashed in the process after fork, so did not affect the fish process that tried to start the program (#10199). * funced will now always source the file after it has written it, even if the contents did not change. This prevents issues if the file was otherwise modified (#10318). * The warning for when a builtin returns a negative exit code was improved, now mentioning the original status (#10187). * Added completions for cobra-cli, dmidecode, mycli, ollama, pstree - Fix changelog timestamp in the last entry - Hard code rather then use -DCMAKE_INSTALL_DOCDIR:PATH=%{__cmake_make_prefix_relative %{_docdir}/%{name} It was causing issues with the 15.5 build - Fix build to cope with changes in (open)SUSE specific cmake macros, move documentation to canonical location. - Update to 3.7.0: * The history pager will now also attempt subsequence matches (#9476), so you can find a command line like git log 3.6.1..Integration_3.7.0 by searching for gitInt. * Opening the history pager will now fill the search field with a search string if you’re already in a search (#10005). This makes it nicer to search something with ↑ and then later decide to switch to the full pager. * Closing the history pager with enter will now copy the search text to the commandline if there was no match, so you can continue editing the command you tried to find right away (#9934). * Performance improvements for command completions and globbing, where supported by the operating system, especially on slow filesystems such as NFS (#9891, #9931, #10032, #10052). * fish can now be configured to wait a specified amount of time for a multi-key sequence to be completed, instead of waiting indefinitely. For example, this makes binding kj to switching modes in vi mode possible. The timeout can be set via the new fish_sequence_key_delay_ms variable (#7401), and may be set by default in future versions. * See https://github.com/fish-shell/fish-shell/releases/tag/3.7.0 for more details - New upstream release 3.6.4 * This release contains a complete fix for the test suite failure in fish 3.6.2 and 3.6.3. - New upstream release 3.6.3 * This release contains a fix for a test suite failure in fish 3.6.2. - New upstream release 3.6.2 This release of fish contains a security fix for CVE-2023-49284, a minor security problem identified in fish 3.6.1 and previous versions (thought to affect all released versions of fish). fish uses certain Unicode non-characters internally for marking wildcards and expansions. It incorrectly allowed these markers to be read on command substitution output, rather than transforming them into a safe internal representation. For example, `echo \UFDD2HOME has the same output as echo $HOME. While this may cause unexpected behavior with direct input, this may become a minor security problem if the output is being fed from an external program into a command substitution where this output may not be expected. (bsc#1217808, CVE-2023-49284) - Enable tests - Actually, awk is required for many scripts provided with the shell. - Update to version 3.6.1: * The Web-based configuration for abbreviations has been removed, as it was not functional with the changes abbreviations introduced in 3.6.0. * 'read' will now print an error if told to set a read-only variable, instead of silently doing nothing. * 'set_color -v' no longer crashes fish. * Using fish_vi_key_bindings in combination with fish's --no-config mode works without locking up the shell. * The history pager now uses more screen space, usually half the screen. * Variables that were set while the locale was C (the default ASCII-only locale) will now properly be encoded if the locale is switched. * Escape during history search restores the original command line again. * Using --help on builtins now respects the $MANPAGER variable, in preference to $PAGER. * The documentation for the ':', '[' and '.' builtin commands can now be looked up with 'man'. * fish no longer crashes when searching history for non-ASCII codepoints case-insensitively. * Themes that don't specify every color option can be installed correctly in the Web-based configuration. * Compatibility with Midnight Commander's prompt integration has been improved. * A spurious error, noted when using fish in Google Drive directories under WSL 2, has been silenced. * Using 'read' in 'fish_greeting' or similar functions will not trigger an infinite loop. * The git prompt will compute the stash count to be used independently of the informative status. * Added completions for: apkanalyzer, neovim, otool, pre-commit, proxychains, scrypt, stow, trash and helper utilities (trash-empty, trash-list, trash-put and trash-restore) and ssh-copy-id. * Improvements to many completions, including the speed of completing directories in WSL 2. * Completions using __fish_complete_suffix are now offered in the correct order (regression). * 'git' completions for 'git-foo'-style commands was restored (regression). * File completion now offers ../ and ./ again (regression). * Improvements and corrections to the documentation. - update to 3.6.0: * By default, Control-R now opens the command history in the pager, * Abbrevations are more flexible * The \\x and \\X escape syntax is now equivalent. \\xAB previously behaved the same as \\XAB, except that it would error if the value “AB” was larger than “7f” * The fish_git_prompt will now only turn on features if the appropriate variable has been set to a true value (of “1”, “yes” or “true”) instead of just checking if it is defined. * Abbreviations are no longer stored in universal variables. * The short option -r for abbreviations has changed from rename to regex, for consistency with string. * argparse can now be used without option specifications, to allow using --min-args, --max-args or for commands that take no options * set --show now shows when a variable was inherited from fish’s parent process, which should help with debugging * The read limit is now restored to the default when fish_read_limit is unset * fish_clipboard_copy and fish_clipboard_paste can now be used in pipes * A new variable, fish_cursor_selection_mode, can be used to configure whether the command line selection includes the character under the cursor (inclusive) or not (exclusive) * The complete-and-search binding, used with Shift-Tab by default, selects the first item in the results immediately * The key combination for the QUIT terminal sequence, often Control-Backslash (\\x1c), can now be sused as a binding * commandline gained two new options, --selection-start and --selection-end, to set the start/end of the current selection - update to 3.5.1: * Cursor shaping for Vi mode is enabled by default in tmux, and will be used if the outer terminal is capable * printf returns a better error when used with arguments interpreted as octal numbers * history merge when in private mode is now an error, rather than wiping out other sessions' history * The error message when launching a command that is built for the wrong architecture on macOS is more helpful - setup fish.keyring - version update to 3.5.0 * A new path builtin command to filter and transform paths (#7659, #8958). * Tab (or any key bound to complete) now expands wildcards instead of invoking completions, if there is a wildcard in the path component under the cursor (#954, #8593). * Scripts can now catch and handle the SIGINT and SIGTERM signals, either via function --on-signal or with trap (#6649). * see https://github.com/fish-shell/fish-shell/releases/tag/3.5.0 for more details - version update to 3.4.1 * An error printed after upgrading, where old instances could pick up a newer version of the fish_title function, has been fixed (#8778) * fish builds correctly on NetBSD (#8788) and OpenIndiana (#8780). * nextd-or-forward-word, bound to Alt-Right Arrow by default, was inadvertently changed to move like forward-bigword. This has been corrected (#8790). * funcsave -q and funcsave --quiet now work correctly (#8830). * Issues with the csharp and nmcli completions were corrected. * see https://github.com/fish-shell/fish-shell/releases/tag/3.4.1 for more details - Drop 8784-old-school-cmd-subst.patch: merged upstream - Add 8784-old-school-cmd-subst.patch fixing fish_title.fish - version update to 3.4.0 * fish’s command substitution syntax has been extended: $(cmd) now has the same meaning as (cmd) but it can be used inside double quotes, to prevent line splitting of the results (#159) * Complementing the prompt command in 3.3.0, fish_config gained a theme subcommand to show and pick from the sample themes (meaning color schemes) directly in the terminal, instead of having to open a Web browser. * set and read learned a new option, --function, to set a variable in the function’s top scope. This should be a more familiar way of scoping variables and avoids issues with --local, which is actually block-scoped (#565, #8145) * string pad now excludes escape sequences like colors that fish knows about, and a new --visible flag to string length makes it use that kind of visible width. This is useful to get the number of terminal cells an already colored string would occupy, like in a prompt. (#8182, #7784, #4012) * Performance improvements to globbing, especially on systems using glibc. In some cases (large directories with files with many numbers in the names) this almost halves the time taken to expand the glob. * Autosuggestions can now be turned off by setting $fish_autosuggestion_enabled to 0, and (almost) all highlighting can be turned off by choosing the new “None” theme. The exception is necessary colors, like those which distinguish autosuggestions from the actual command line. (#8376) * The fish_git_prompt function, which is included in the default prompts, now overrides git to avoid running commands set by per-repository configuration. This avoids a potential security issue in some circumstances, and has been assigned CVE-2022-20001 (#8589). [bsc#1197139] * see https://github.com/fish-shell/fish-shell/releases/tag/3.4.0 for more details - We don't need to remove unnecessary completions (curl and pyenv in this case), the ones in /usr/share/fish/vendor_completions.d have precedence. Now just to make all other packages put theirs in the right location! - Update to 3.3.1: * The prompt and command line are redrawn correctly in response to universal variable changes. * A superfluous error that was produced when setting the PATH or CDPATH environment variables to include colon-delimited components that do not exist was removed. * The Vi mode indicator in the prompt is repainted correctly after Ctrl-C cancels the current command. - Update to 3.2.2: * Background jobs no longer interfere with syntax highlighting (fish 3.2.1 regression) * The command-not-found handler used suggestions from pacman on Arch Linux, but this caused major slowdowns on some systems and has been disabled * Certain programs (such as lazygit) could create situations where fish would not receive keystrokes correctly, but it is now more robust in these situations * Completions for aura and tshark should no longer produce errors. * fish will no longer hang on exit if another process is in the foreground on macOS * Arguments longer than 1024 characters no longer trigger excessive CPU usage on macOS - Update to 3.2.1: * Commands in key bindings are run with fish's internal terminal modes, instead of the terminal modes typically used for commands. This fixes a bug introduced in 3.2.0, where text would unexpectedly appear on the terminal, especially when pasting * Prompts which use the internal __fish_print_pipestatus function will display correctly rather than carrying certain modifiers (such as bold) further than intended * Redirections to internal file descriptors is allowed again, reversing the changes in 3.2.0. This fixes a problem with Midnight Commander * Universal variables should be fully reliable regardless of operating system again * fish_git_prompt no longer causes screen flickering in certain terminals * fish_add_path manipulates the fish_user_paths variable correctly when moving multiple paths * Pasting with a multi-line command no longer causes __fish_tokenizer_state error * psub inside event handlers cleans up temporary files properly * Event handlers declared with --on-job-exit $fish_pid no longer run constantly, although these functions should use --on-event fish_exit instead. * Changing terminal modes inside config.fish works * set_color --print-colors no longer prints all colors in bold * Completing commands starting with a - no longer prints an error * Running fish_command_not_found directly no longer produces an error on macOS or other OSes which do not have a handler available * The new type builtin now has the (deprecated) --quiet long form of -q * help and fish_config work correctly when fish is running in a Chrome OS Crostini Linux VM * The history file can be made a symbolic link without it being overwritten, matching a similar improvement for the universal variable file in 3.2.0. * An unhelpful error ("access: No error"), seen on Cygwin, is no longer produced * Improvements to the rsync completions, some completion descriptions, and completions that use IP address * Improvements to the appearance of fish_config - explicitly list binaries in spec file - Define GenericName and proper category in fish.desktop - Update to 3.2.0: * Undo and redo support for the command-line editor and pager search * Builtins can now output before all data is read * Prompts will now be truncated instead of replaced with "> " * Better errors with "test" * A new theme for the documentation and Web-based configuration * fish --no-execute will no longer complain about unknown commands or non-matching wildcards * string match --regex now integrates named PCRE2 capture groups as fish variables * Globs and other expansions are limited to 512,288 results * A new "fish for bash users" documentation page gives a quick overview of the scripting differences between bash and fish * Range limits in index range expansions like $x[$start..$end] may be omitted: $start and $end default to 1 and -1 * the type, _ (gettext), . (source) and : (no-op) functions are now implemented builtins for performance purposes * The output for set --show has been shortened * string sub has a new --end option to specify the end index of a substring * string trim now also trims vertical tabs by default * string repeat now handles multiple arguments, repeating each one * The true and false builtins ignore any arguments * status gained new dirname and basename convenience subcommands * jobs now shows continued child processes correctly * A new fish_status_to_signal function for transforming exit statuses to signal names has been added * fish -c now reads the remaining arguments into $argv * The pwd command supports the long options --logical and --physical * https://github.com/fish-shell/fish-shell/releases/tag/3.2.0 - Remove fix-pc-file-paths.patch - pc file contained references to /usr/local (boo#1181888) * fix-pc-file-paths.patch - Already fixed upstream - Fix empty output of fish builtin help - Update to 3.1.2: * Commands such as fzf and enhancd, when used with eval, would hang. eval buffered output too aggressively, which has been fixed (#6955). - Changes in 3.1.2: * Commands which involve . ( ... | psub) now work correctly, as a bug in the function --on-job-exit option has been fixed (#6613). * Conflicts between upstream packages for ripgrep and bat, and the fish packages, have been resolved (#5822). * Starting fish in a directory without read access, such as via su, no longer crashes (#6597). * Glob ordering changes which were introduced in 3.1.0 have been reverted, returning the order of globs to the previous state (#6593). * Redirections using the deprecated caret syntax to a file descriptor (eg ^&2) work correctly (#6591). * Redirections that append to a file descriptor (eg 2>>&1) work correctly (#6614). * Building fish on macOS (#6602) or with new versions of GCC (#6604, #6609) is now successful. * time is now correctly listed in the output of builtin -n, and time --help works correctly (#6598). * Exported universal variables now update properly (#6612). * status current-command gives the expected output when used with an environment override - that is, F=B status current-command returns status instead of F=B (#6635). * test no longer crashes when used with "nan" or "inf" arguments, erroring out instead (#6655). * Copying from the end of the command line no longer crashes fish (#6680). * read no longer removes multiple separators when splitting a variable into a list, restoring the previous behaviour from fish 3.0 and before (#6650). * Functions using --on-job-exit and --on-process-exit work reliably again (#6679). * Functions using --on-signal INT work reliably in interactive sessions, as they did in fish 2.7 and before (#6649). These handlers have never worked in non-interactive sessions, and making them work is an ongoing process. * Functions using --on-variable work reliably with variables which are set implicitly (rather than with set), such as "fish_bind_mode" and "PWD" (#6653). * 256 colors are properly enabled under certain conditions that were incorrectly detected in fish 3.1.0 ($TERM begins with xterm, does not include "256color", and $TERM_PROGRAM is not set) (#6701). * The Mercurial (hg) prompt no longer produces an error when the current working directory is removed (#6699). Also, for performance reasons it shows only basic information by default; to restore the detailed status, set $fish_prompt_hg_show_informative_status. * The VCS prompt, fish_vcs_prompt, no longer displays Subversion (svn) status by default, due to the potential slowness of this operation (#6681). * Pasting of commands has been sped up (#6713). * Using extended Unicode characters, such as emoji, in a non-Unicode capable locale (such as the C or POSIX locale) no longer renders all output blank (#6736). * help prefers to use xdg-open, avoiding the use of open on Debian systems where this command is actually openvt (#6739). * Command lines starting with a space, which are not saved in history, now do not get autosuggestions. This fixes an issue with Midnight Commander integration (#6763), but may be changed in a future version. * Copying to the clipboard no longer inserts a newline at the end of the content, matching fish 2.7 and earlier (#6927). * fzf in complex pipes no longer hangs. More generally, code run as part of command substitutions or eval will no longer have separate process groups. (#6624, #6806). - Remove fix-gcc10-build.patch: upstreamed - Don't require python3 at all, it's only used for tests but there's no %check section. - Fix build with gcc10 fix-gcc10-build.patch (boo#1167862) - Use python3 rather then python2 - Update to 3.1.0 * A new $pipestatus variable contains a list of exit statuses of the previous job, for each of the separate commands in a pipeline * fish no longer buffers pipes to the last function in a pipeline, improving many cases where pipes appeared to block or hang * cd now always looks for its argument in the current directory as a last resort, even if the CDPATH variable does not include it or "." * fish's debugging arguments have been significantly improved * new builtin command, time, which allows timing of fish functions and builtins as well as external commands * Brace expansion now only takes place if the braces include a "," or a variable expansion, meaning common commands such as git reset HEAD@{0} do not require escaping * many other fixes and improvements - Drop the curl compilations, the curl package now provides a better version. - Update to 3.0.2 * The PWD environment variable is now ignored when it should be - Update to 3.0.1 * exec does not complain about running foreground jobs (#5449) * while loops now evaluate to the last executed command (#4982) * The error when a command is not found is now a single time (#5588) * Significant perf improvements to core shell (#5447) * Starting in symlinked working directories works (#5525) * The nim prompt now works correctly in web-based config (#5490) * Killing the term while fish is in vi normal mode fixed (#5528) * Misc crash fixes (#5550,#5548, #5479, #5453) - Update to 3.0.0 * Process and job expansion has largely been removed * A literal {} now expands to itself, rather than nothing * Literally accessing a zeor-index is now illegal syntax * for loop variables are no longer local to the for block * Local exported (set -1x) vars are now visible to functions * The new math builtin does not support logical expressions * fish now supports && || and ! for better migration from POSIX * Variables may be used as commanes (#154) * fish may be started in private mode via fish --private * A new wait command for waiting on backgrounded processes * math is now a builtin wrather than a wrapper around bc (#3157) * while sets $status to a non-zero value if the loop is not exec'd (#4982) * Command sub output now limited to 10MB by default * The machine hostname is now exposed as the $hostname reserved variable * Bare bind invocations in config.fish now work - Trim some bias from description. - Anchor grep patterns in %post(un) so that it does not erroneously match other lines. - Update to 2.7.1 * macos specific fix for iTerm2 - cleanup with spec-cleaner - use https URL - rpmlint: fix E: devel-file-in-non-devel-package - rpmlint: fix E: env-script-interpreter - Don't Require python-curses its not needed or used - Update to 2.7.0. Notable improvements: * A new cdh (change directory using recent history) command provides a more friendly alternative to prevd/nextd and pushd/popd (#2847). * A new argparse command is available to allow fish script to parse arguments with the same behavior as builtin commands. This also includes the fish_opt helper command. (#4190). * Invalid array indexes are now silently ignored (#826, #4127). * Improvements to the debugging facility, including a prompt specific to the debugger (fish_breakpoint_prompt) and a status is-breakpoint subcommand (#1310). * string supports new lower and upper subcommands, for altering the case of strings (#4080). The case changing is not locale-aware yet. * string escape has a new --style=xxx flag where xxx can be script, var, or url (#4150), and can be reversed with string unescape (#3543). * History can now be split into sessions with the fish_history variable, or not saved to disk at all (#102). * Read history is now controlled by the fish_history variable rather than the --mode-name flag (#1504). * command now supports an --all flag to report all directories with the command. which is no longer a runtime dependency (#2778). * fish can run commands before starting an interactive session using the new --init-command/-C options (#4164). * set has a new --show option to show lots of information about variables (#4265). * Full changelog: https://github.com/fish-shell/fish-shell/releases/tag/2.7.0 - Update to 2.6.0. Notable fixes and improvements: * Jobs running in the background can now be removed from the list of jobs with the new disown builtin, which behaves like the same command in other shells (#2810). * Command substitutions now have access to the terminal, like in other shells. This allows tools like fzf to work properly (#1362, #3922). * In cases where the operating system does not report the size of the terminal, the COLUMNS and LINES environment variables are used; if they are unset, a default of 80x24 is assumed. * New French (#3772 & #3788) and improved German (#3834) translations. * fish no longer depends on the which external command. * Full changelog: https://github.com/fish-shell/fish-shell/releases/tag/2.6.0 - Update to 2.5.0 Notable fixes and improvements * alias, run without options or arguments, lists all defined aliases, and aliases now include a description in the function signature that identifies them. * complete accepts empty strings as descriptions (#3557). * command accepts -q/--quiet in combination with --search (#3591), providing a simple way of checking whether a command exists in scripts. * Abbreviations can now be renamed with abbr --rename OLD_KEY NEW_KEY (#3610). * The command synopses printed by --help options work better with copying and pasting (#2673). * help launches the browser specified by the $fish_help_browser variable if it is set (#3131). * History merging could lose items under certain circumstances and is now fixed (#3496). * The $status variable is now set to 123 when a syntactically invalid command is entered (#3616). * Exiting fish now signals all background processes to terminate, not just stopped jobs (#3497). * A new prompt_hostname function which prints a hostname suitable for use in prompts (#3482). * The __fish_man_page function (bound to Alt-h by default) now tries to recognize subcommands (e.g. git add will now open the "git-add" man page) (#3678). * A new function edit_command_buffer (bound to Alt-e & Alt-v by default) to edit the command buffer in an external editor (#1215, #3627). * set_color now supports italics (--italics), dim (--dim) and reverse (--reverse) modes (#3650). * Filesystems with very slow locking (eg incorrectly-configured NFS) will no longer slow fish down (#685). * Improved completions for apt (#3695), fusermount (#3642), make (#3628), netctl-auto (#3378), nmcli (#3648), pygmentize (#3378), and tar (#3719). * Added completions for: VBoxHeadless (#3378) VBoxSDL (#3378) base64 (#3378) caffeinate (#3524) dconf (#3638) dig (#3495) dpkg-reconfigure (#3521 & #3522) feh (#3378) launchctl (#3682) lxc (#3554 & #3564), mddiagnose (#3524) mdfind (#3524) mdimport (#3524) mdls (#3524) mdutil (#3524) mkvextract (#3492) nvram (#3524) objdump (#3378) sysbench (#3491) tmutil (#3524) * Full changelog https://github.com/fish-shell/fish-shell/releases/tag/2.5.0 - Update to version 2.4.0 ## Notable fixes and improvements * The documentation is now generated properly and with the correct version identifier. * Automatic cursor changes are now only enabled on the subset of XTerm versions known to support them, resolving a problem where older versions printed garbage to the terminal before and after every prompt (#3499). * Improved the title set in Apple Terminal.app. * Added completions for defaults and improved completions for diskutil (#3478). # fish 2.4b1 (released October 18, 2016) ## Significant changes * The clipboard integration has been revamped with explicit bindings. The killring commands no longer copy from, or paste to, the X11 clipboard - use the new copy (C-x) and paste (C-v) bindings instead. The clipboard is now available on OS X as well as systems using X11 (e.g. Linux). (#3061) * history uses subcommands (history delete) rather than options (history --delete) for its actions (#3367). You can no longer specify multiple actions via flags (e.g., history --delete --save something). * New history options have been added, including --max=n to limit the number of history entries, --show-time option to show timestamps (#3175, #3244), and --null to null terminate history entries in the search output. * history search is now case-insensitive by default (which also affects history delete) (#3236). * history delete now correctly handles multiline commands (#31). * Vi-style bindings no longer include all of the default emacs-style bindings; instead, they share some definitions (#3068). * If there is no locale set in the environment, various known system configuration files will be checked for a default. If no locale can be found, en_US-UTF.8 will be used (#277). * A number followed by a caret (e.g. 5^) is no longer treated as a redirection (#1873). * The $version special variable can be overwritten, so that it can be used for other purposes if required. ## Notable fixes and improvements * The fish_realpath builtin has been renamed to realpath and made compatible with GNU realpath when run without arguments (#3400). It is used only for systems without a realpath or grealpath utility (#3374). * Improved color handling on terminals/consoles with 8-16 colors, particularly the use of bright named color (#3176, #3260). * fish_indent can now read from files given as arguments, rather than just standard input (#3037). * Fuzzy tab completions behave in a less surprising manner (#3090, #3211). * jobs should only print its header line once (#3127). * Wildcards in redirections are highlighted appropriately (#2789). * Suggestions will be offered more often, like after removing characters (#3069). * history --merge now correctly interleaves items in chronological order (#2312). * Options for fish_indent have been aligned with the other binaries - in particular, -d now means --debug. The --dump option has been renamed to --dump-parse-tree (#3191). * The display of bindings in the Web-based configuration has been greatly improved (#3325), as has the rendering of prompts (#2924). * fish should no longer hang using 100% CPU in the C locale (#3214). * A bug in FreeBSD 11 & 12, Dragonfly BSD & illumos prevented fish from working correctly on these platforms under UTF-8 locales; fish now avoids the buggy behaviour (#3050). * Prompts which show git repository information (via __fish_git_prompt) are faster in large repositories (#3294) and slow filesystems (#3083). * fish 2.3.0 reintroduced a problem where the greeting was printed even when using read; this has been corrected again (#3261). * Vi mode changes the cursor depending on the current mode (#3215). * Command lines with escaped space characters at the end tab-complete correctly (#2447). * Added completions for: + arcanist (#3256) + connmanctl (#3419) + figlet (#3378) + mdbook (#3378) + ninja (#3415) + p4, the Perforce client (#3314) + pygmentize (#3378) + ranger (#3378) * Improved completions for aura (#3297), abbr (#3267), brew (#3309), chown (#3380, #3383),cygport (#3392), git (#3274, #3226, #3225, #3094, #3087, #3035, #3021, #2982, #3230), kill & pkill (#3200), screen (#3271), wget (#3470), and xz (#3378). * Distributors, packagers and developers will notice that the build process produces more succinct output by default; use make V=1 to get verbose output (#3248). * Improved compatibility with minor platforms including musl (#2988), Cygwin (#2993), Android (#3441, #3442), Haiku (#3322) and Solaris . - Dropped no longer necessary no-return-in-nonvoid-function.patch - Use shared libpcre instead of bundled one - Small packaging changes - Update source url to point to github as within the release notes, the older url doens't seem available - Update to v2.3.1 - Significant changes * A new fish_key_reader binary for decoding interactive keypresses (#2991). * fish_mode_prompt has been updated to reflect the changes in the way the Vi input mode is set up (#3067), making this more reliable. * fish_config can now properly be launched from the OS X app bundle (#3140). - Notable fixes and improvements * Extra lines were sometimes inserted into the output under Windows (Cygwin and Microsoft Windows Subsystem for Linux) due to TTY timestamps not being updated (#2859). * The string builtin's match mode now handles the combination of -rnv (match, invert and count) correctly (#3098). * Improvements to TTY special character handling (#3064), locale handling (#3124) and terminal environment variable handling (#3060). * Work towards handling the terminal modes for external commands launched from initialisation files (#2980). * Ease the upgrade path from fish 2.2.0 and before by warning users to restart fish if the string builtin is not available (#3057). * type -a now syntax-colorizes function source output. * Added completions for alsamixer, godoc, gofmt, goimports, gorename, lscpu, mkdir, modinfo, netctl-auto, poweroff, termite, udisksctl and xz (#3123). * Improved completions for apt (#3097), aura (#3102),git (#3114), npm (#3158), string and suspend (#3154). - Update to v2.3.0 - Significant Changes * A new string builtin to handle… strings! * After seeing an escape character wait up to 300ms for an a dditional character. * Add new directories for vendor functions and configuration snippets (#2498) * A new fish_realpath builtin and associated function to allow the use of realpath even on those platforms that don't ship an appropriate command. (#2932) * Alt-# toggles the current command line between commented and uncommented states, making it easy to save a command in history without executing it. * The fish_vi_mode function is now deprecated in favour of fish_vi_key_bindings - Backward-incompatible changes * Unmatched globs will now cause an error, except when used with for, set or count (#2719, #2394) and and or will now bind to the closest if or while, allowing compound conditions without begin and end (#1428) * set -ql now searches up to function scope for variables (#2502) * status -f will now behave the same when run as the main script or using source (#2643) * source no longer puts the file name in $argv if no arguments are given (#139) - Full release notes at https://github.com/fish-shell/fish-shell/releases/tag/2.3.0 - Recommends: terminfo (required for some terminals) - Requires: man (required for completions, otherwise fish complains about non existant apropos on every TAB) - update to v2.2.0 See full changelog on https://github.com/fish-shell/fish-shell/releases/tag/2.2.0 - Drop check_for_command-not-found_command_on_suse.patch - Require: python-curses Its required for the prompt page on the web config - no-return-in-nonvoid-function.patch: fix no-return-in-nonvoid-function error - Added check_for_command-not-found_command_on_suse.patch (https://github.com/fish-shell/fish-shell/issues/1208) - Fixed conflict with youtube-dl - update to 2.1.1 - The fish_config web interface now uses an authentication token to protect requests and only responds to requests from the local machine with this token, preventing a remote code execution attack (closing CVE-2014-2914). - psub and funced are no longer vulnerable to attacks which allow local privilege escalation and data tampering (closing CVE-2014-2906 and CVE-2014-3856) - fishd uses a secure path for its socket, preventing a local privilege escalation attack (closing CVE-2014-2905) - __fish_print_packages is no longer vulnerable to attacks which would allow local privilege escalation and data tampering (closing CVE-2014-3219) - fishd now ignores SIGPIPE, fixing crashes using tools like GNU Parallel and which occurred more often as a result of the other fishd changes. - update to 2.1.0 - removed rpath patch as it has been resolved upstream - Update to version 2.0 - Initial RPM
Simon Lees2025-09-16 06:28:37 +00:00