Versie 4.8.0 van fish is uitgekomen. Fish, wat staat voor 'friendly interactive shell', is een Unix-shell met een focus op interactiviteit en gebruikersvriendelijkheid. Het kan bijvoorbeeld worden gebruikt als vervanger van Bash. Downloads zijn beschikbaar voor macOS, Linux, BSD en onder Windows is het ook in Windows Subsystem for Linux te gebruiken. De changelog voor deze uitgave kan hieronder worden gevonden.
Notable improvements and fixesDeprecations and removed features
- Translatable messages defined in Rust source code can and should now be translated using Fluent instead of GNU gettext. To make Fluent easy to work with, we have added tooling based on the new fluent-ftl-tools library. See Contributing Translations (#11928).
Interactive improvements
- Builtin complete's
--commandand--pathoptions no longer unescape their argument.Scripting improvements
- History search would sometimes forget about commands after those were re-run in concurrent sessions. This has been fixed (#10300).
fish_hg_prompt,fish_git_promptandfish_fossil_promptnow strip control characters from VCS state read off disk, matchingprompt_pwd.- Abbreviations with
--position=anywherecan now be completed in argument position, not just in command position (#12630).- Path component movement (
Ctrl-W) skips escaped characters.- Completion of short option groups will now handle
--conditioncorrectly (#12821).- Fixed an issue where
Ctrl-Cmight fail to cancel certain functions (#12802).- On the first run after upgrading from an older version, fish will try harder to check if the current theme matches a historical default. If it does match, fish won't create
~/.config/fish/conf.d/fish_frozen_theme.fishwhen upgrading from fish < 4.3. In particular, on systems where fish version 3.x was installed originally, fish will now avoid creating that file on upgrade (#12725).Other improvements
cdsupports the-Land-Poptions, like other shells, to allow specifying whether symbolic links (symlinks) are resolved when changing directories (#7206).cdwith a relative path will now retry using the real current directory, if$PWDhas been moved (#12700).- Nested brace expansions now strip unquoted leading and trailing spaces from entries consistently (#12794).
- bind shows the files where bindings were defined (#12504).
For distributors and developers
- fish no longer creates the
__fish_initializeduniversal variable on startup. If you don't expect to need to downgrade to earlier versions, you can remove it withset --erase __fish_initialized. This means that fish now only creates universal variables if instructed by the user.Regression fixes:
- With the exception of the
$CMAKE_INSTALL_PREFIX/share/fish/mandirectory, fish no longer installs files to$CMAKE_INSTALL_PREFIX/share/fish. In particular, this means that both$CMAKE_INSTALL_PREFIX/share/fish/completionsand$CMAKE_INSTALL_PREFIX/share/fish/functionsshould no longer exist. These directories have been ignored since fish 4.2. If another package installs fish scripts there, they should be corrected to install toextra_completionsdir(typically$CMAKE_INSTALL_PREFIX/share/fish/vendor_completions.d),extra_functionsdir(typically$CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d) orextra_confdir(typically$CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d) instead. See also the output offor var in completions functions conf; pkgconf fish --variable="$var"dir; end.
- (from 4.4.0) Vi mode
c,Wkey binding wrongly deleted trailing spaces (#12790).- (from 4.4.0) Vi mode
xin builtin read (#12724).- (from 4.3.3) Repeated tab would sometimes insert smartcase completions redundantly.
- (from 4.3.0) Pressing escape during command execution could insert garbage text into the command line (#12379).
