github fish-shell/fish-shell 2.6.0
fish 2.6.0 (released June 3, 2017)

latest releases: 3.7.1, 3.7.0, 3.6.4...
6 years ago

Since the beta release of fish 2.6b1, fish version 2.6.0 contains a number of minor fixes, new completions for magneto (#4043), and improvements to the documentation.

Known issues

  • Apple macOS Sierra 10.12.5 introduced a problem with launching web browsers from other programs using AppleScript. This affects the fish Web configuration (fish_config); users on these platforms will need to manually open the address displayed in the terminal, such as by copying and pasting it into a browser. This problem will be fixed with macOS 10.12.6.

If you are upgrading from version 2.5.0 or before, please also review the release notes for 2.6b1 (included below).


The release notes for fish 2.6b1 are as follows:

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.

Other significant changes

  • Performance improvements in launching processes, including major reductions in signal blocking. Although this has been heavily tested, it may cause problems in some circumstances; set the FISH_NO_SIGNAL_BLOCK variable to 0 in your fish configuration file to return to the old behaviour (#2007).
  • Performance improvements in prompts and functions that set lots of colours (#3793).
  • The Delete key no longer deletes backwards (a regression in 2.5.0).
  • functions supports a new --details option, which identifies where the function was loaded from (#3295), and a --details --verbose option which includes the function description (#597).
  • read will read up to 10 MiB by default, leaving the target variable empty and exiting with status 122 if the line is too long. You can set a different limit with the FISH_READ_BYTE_LIMIT variable.
  • read supports a new --silent option to hide the characters typed (#838), for when reading sensitive data from the terminal. read also now accepts simple strings for the prompt (rather than scripts) with the new -P and --prompt-str options (#802).
  • export and setenv now understand colon-separated PATH, CDPATH and MANPATH variables.
  • bind supports a new --list-modes option (#3872).
  • bg will check all of its arguments before backgrounding any jobs; any invalid arguments will cause a failure, but non-existent (eg recently exited) jobs are ignored (#3909).
  • funced warns if the function being edited has not been modified (#3961).
  • printf correctly outputs "long long" integers (#3352).
  • status supports a new current-function subcommand to print the current function name (#1743).
  • string supports a new repeat subcommand (#3864). string match supports a new --entire option to emit the entire line matched by a pattern (#3957). string replace supports a new --filter option to only emit lines which underwent a replacement (#3348).
  • test supports the -k option to test for sticky bits (#733).
  • umask understands symbolic modes (#738).
  • Empty components in the CDPATH, MANPATH and PATH variables are now converted to "." (#2106, #3914).
  • New versions of ncurses (6.0 and up) wipe terminal scrollback buffers with certain commands; the C-l binding tries to avoid this (#2855).
  • Some systems' su implementations do not set the USER environment variable; it is now reset for root users (#3916).
  • Under terminals which support it, bracketed paste is enabled, escaping problematic characters for security and convience (#3871). Inside single quotes ('), single quotes and backslashes in pasted text are escaped (#967). The fish_clipboard_paste function (bound to C-v by default) is still the recommended pasting method where possible as it includes this functionality and more.
  • Processes in pipelines are no longer signalled as soon as one command in the pipeline has completed (#1926). This behaviour matches other shells mre closely.
  • All functions requiring Python work with whichever version of Python is installed (#3970). Python 3 is preferred, but Python 2.6 remains the minimum version required.
  • The color of the cancellation character can be controlled by the fish_color_cancel variable (#3963).
  • Added completions for:
  • caddy (#4008)
  • castnow (#3744)
  • climate (#3760)
  • flatpak
  • gradle (#3859)
  • gsettings (#4001)
  • helm (#3829)
  • i3-msg (#3787)
  • ipset (#3924)
  • jq (#3804)
  • light (#3752)
  • minikube (#3778)
  • mocha (#3828)
  • mkdosfs (#4017)
  • pv (#3773)
  • setsid (#3791)
  • terraform (#3960)
  • usermod (#3775)
  • xinput
  • yarn (#3816)
  • Improved completions for adb (#3853), apt (#3771), bzr (#3769), dconf, git (including #3743), grep (#3789), go (#3789), help (#3789), hg (#3975), htop (#3789), killall (#3996), lua, man (#3762), mount (#3764 & #3841), obnam (#3924), perl (#3856), portmaster (#3950), python (#3840), ssh (#3781), scp (#3781), systemctl (#3757) and udisks (#3764).

Download links:
To download the source code for fish, we suggest the file named "fish-2.6.0.tar.gz". The file downloaded from "Source code (tar.gz)" will not build correctly. The SHA-256 sum of this file is7ee5bbd671c73e5323778982109241685d58a836e52013e18ee5d9f2e638fdfb.

Don't miss a new fish-shell release

NewReleases is sending notifications on new releases.