fish shell

Developer Tools

The user-friendly command line shell.

Latest 4.9.2 · by fish-shellWritten in RustWebsitefish-shell/fish-shellRSS

Release activity

Release activity — 13 releases across 13 days since Dec 28, 2025. Each cell is one day; darker means more releases that day. Nothing is recorded before Dec 28, 2025. Older weeks are hidden at this screen width.
JunJulAugSep
SundayNo releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 2026No releases on Sep 6, 2026
MondayNo releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 20261 release on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026No releases on Aug 17, 2026No releases on Aug 24, 2026No releases on Aug 31, 2026No releases on Sep 7, 2026
TuesdayNo releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 2026No releases on Sep 1, 2026
WednesdayNo releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 20261 release on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 2026No releases on Aug 26, 2026No releases on Sep 2, 2026
ThursdayNo releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026No releases on Aug 13, 2026No releases on Aug 20, 2026No releases on Aug 27, 20261 release on Sep 3, 2026
FridayNo releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026No releases on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 20261 release on Sep 4, 2026
SaturdayNo releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026No releases on Aug 29, 20261 release on Sep 5, 2026

13 releases since Dec 28, 2025

Changelog

4.9.2Latest

fish 4.9.2

Fixed 1
  • Corrected the fix for macOS terminals from 4.9.1

From fish shell

This release corrects the fix for macOS terminals from 4.9.1 (#12973)


A GPG signature for fish-4.9.2.tar.xz using this key is available as fish-4.9.2.tar.xz.asc.

The files called fish-4.9.2-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.9.2 went
4.9.1

fish 4.9.1

Fixed 3
  • On non-default keyboard layouts, fish executed bindings for physical keys instead of only bindings for the layout's key
  • When typing space to accept a character entered via certain IMEs, fish would insert a space instead of the desired character
  • On macOS terminals, keys like option-l would execute bindings for alt-l instead of inserting a character like @ on a German layout

From fish shell

This release fixes the following problems identified in fish 4.9.0:

  • On non-default keyboard layouts, fish executed bindings for physical keys instead of only bindings for the layout’s key. For example, on the Dvorak layout, typing s would insert ; because there is a default binding for ; (#12968).
  • When typing space to accept a character entered via certain IMEs, fish would insert a space instead of the desired character, which has been fixed (#12974).
  • On macOS terminals, keys like option-l would execute bindings for alt-l instead of the historical behavior of inserting a character (like @ on a German layout) (#12973).

A GPG signature for fish-4.9.1.tar.xz using this key is available as fish-4.9.1.tar.xz.asc.

The files called fish-4.9.1-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.9.1 went
4.9.0

fish 4.9.0

Added 2
  • Keys like shift-space and space can now be mapped independently on some terminals like kitty
  • Abbreviations can now be given a description, which will be displayed in the completion pager
Changed 3
  • Fish no longer requests the kitty keyboard protocol on Konsole to mitigate issues in Konsole version v26.07.80's implementation
  • List indexing can now be nested in more cases, for example $foo[$bar[1] 2] is now allowed
  • Commands like status=123 echo $status now throw an error instead of silently ignoring the variable override
Fixed 8
  • Fixed slow tab completion in directories that contain slow-to-resolve symlinks
  • Vi mode commands like cF and cT now work correctly
  • Escaped square brackets are no longer considered a slicing operator
  • Variables containing a closing square bracket and used to index into another variable will no longer close the slice early
  • Builtin help pages now respect an override of the man function
  • Chinese and Japanese translation of error messages owned by the C library were broken
  • Erasing read-only variables with set --erase was accidentally allowed
  • Builtin fg was not working on NetBSD

From fish shell

This release exists mainly to work around an issue with the Konsole terminal which would cause shift-pageup to stop working.

This release brings 151 new commits since 4.8.1, contributed by 26 authors, 18 of which are new faces.

Interactive improvements
  • To mitigate issues in Konsole version v26.07.80’s implementation of the kitty keyboard protocol, fish no longer requests that protocol on Konsole. The omit-term-workarounds feature flag can be turned on to enable the kitty keyboard protocol on Konsole again (#12948).
  • On some terminals like kitty, keys like shift-space and space can now be mapped independently (#12898).
  • Fixed slow tab completion in directories that contain slow-to-resolve symlinks (e.g. links to network-mounted files) (#12905).
  • Abbreviations can now be given a description, which will be displayed in the completion pager (#11291).
  • Vi mode commands like cF and cT now work correctly (#12947).
Scripting improvements
  • List indexing can now be nested in more cases; for example $foo[$bar[1] 2] is now allowed (#12903).
  • Escaped square brackets (e.g. \133 for [) are no longer considered a slicing operator (#7969).
  • Variables containing a closing square brackets and used to index into another variable will no longer close the slice early (#12819).
  • Builtin help pages now respect an override of the man function (#12886).
  • Commands like status=123 echo $status now throw an error instead of silently ignore the variable override (#7790).
Regression fixes:
  • (From 4.6.0) Chinese and Japanese translation of error messages owned by the C library were broken (#12895).
  • (From 4.3.2) Erasing read-only variables with set --erase was accidentally allowed.
  • (From 4.0.0) Builtin fg was not working on NetBSD (#12929).

Thanks to everyone who contributed through issue discussions, code reviews, or code changes.

Welcome our new committers: AbhinavMir, Aelin, Alex Le Blanc, Alexia, Guflly, MeGaurav4, Philipp Jungkamp, SR0725, Tommi Virtanen, Vaibhav Srivastava, Valentyn Yefimov, avbest, developic, hazel, nekoside, orpheus6678, tianrking, yakakay

Welcome back our returning committers: David Adam (zanchey), Fabian Boehm, Ilya Grigoriev, Johannes Altmanninger, Michael Jarvis, Nahor, Peter Ammon, Wes Higbee


A GPG signature for fish-4.9.0.tar.xz using this key is available as fish-4.9.0.tar.xz.asc.

The files called fish-4.9.0-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.9.0 went
4.8.1

fish 4.8.1

Added 2
  • Builtin and function commands can now be colored separately via new variables fish_color_builtin and fish_color_function
  • Add fish_darcs_prompt for Darcs repository status
Changed 1
  • The omit-term-workarounds feature flag can be enabled to enable prompt marking on Konsole again
Fixed 4
  • On non-macOS platforms, alt-backspace, alt-delete, alt-left and alt-right operate on words again instead of tokens, eliminating cross-platform differences in input handling
  • Fix a crash in commandline --current-process when the cursor is inside a &| pipe
  • abbr --position=anywhere completions are no longer offered in argument position to avoid cluttering the completion pager
  • pacman -Q short option completions

From fish shell

This release serves primarily to fix some regressions from 4.8.0 and other bugs.

Interactive improvements
  • On non-macOS platforms, alt-backspace, alt-delete, alt-left and alt-right operate on words again instead of tokens (#12122) eliminating cross-platform differences in input handling.
  • Builtin and function commands can now be colored separately via new variables fish_color_builtin and fish_color_function (#12837).
  • Add fish_darcs_prompt for Darcs repository status.
  • Fixed a crash in commandline --current-process when the cursor is inside a &| pipe (#12868).
  • Since prompt marking (via OSC 133) causes an issue in Konsole’s default configuration, prompt marking had been disabled for Konsole in 4.8.0. Now the omit-term-workarounds feature flag can be enabled to enable prompt marking on Konsole again (#12859).
Regression fixes:
  • (From 4.8.0) abbr --position=anywhere completions are no longer offered in argument position, to avoid cluttering the completion pager (#12838).
  • (From 4.8.0) pacman -Q short option completions (#12857).

A GPG signature for fish-4.8.1.tar.xz using this key is available as fish-4.8.1.tar.xz.asc.

The files called fish-4.8.1-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.8.1 went
4.8.0

fish 4.8.0

Added 1
  • cd supports the -L and -P options to allow specifying whether symbolic links are resolved when changing directories
Changed 7
  • Translatable messages defined in Rust source code should now be translated using Fluent instead of GNU gettext
  • fish_hg_prompt, fish_git_prompt and fish_fossil_prompt now strip control characters from VCS state read off disk
  • Abbreviations with --position=anywhere can now be completed in argument position, not just in command position
  • Path component movement with ctrl-w skips escaped characters
  • On the first run after upgrading from an older version, fish will try harder to check if the current theme matches a historical default and avoid creating ~/.config/fish/conf.d/fish_frozen_theme.fish when upgrading from fish < 4.3
  • bind shows the files where bindings were defined
  • fish no longer creates the __fish_initialized universal variable on startup
Fixed 9
  • History search would sometimes forget about commands after those were re-run in concurrent sessions
  • Completion of short option groups will now handle --condition correctly
  • Fixed an issue where ctrl-c might fail to cancel certain functions
  • cd with a relative path will now retry using the real current directory, if $PWD has been moved
  • Nested brace expansions now strip unquoted leading and trailing spaces from entries consistently
  • Vi mode c,W key binding wrongly deleted trailing spaces
Removed 2
  • Builtin complete's --command and --path options no longer unescape their argument
  • fish no longer installs files to $CMAKE_INSTALL_PREFIX/share/fish except for the man directory

From fish shell

This release brings 234 new commits since 4.7.1, contributed by 39 authors, 21 of which are new faces.

Notable improvements and fixes
  • Translatable messages defined in Rust source code can and should now be translated using Fluent instead of GNU gettext. For now, GNU gettext continues to be used for translating messages defined in fish scripts. To make Fluent easy to work with, we have added tooling based on the new fluent-ftl-tools library. See Contributing Translations (#11928).
Deprecations and removed features
  • Builtin complete’s --command and --path options no longer unescape their argument.
Interactive 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_prompt and fish_fossil_prompt now strip control characters from VCS state read off disk, matching prompt_pwd.
  • Abbreviations with --position=anywhere can 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 --condition correctly (#12821).
  • Fixed an issue where ctrl-c might 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.fish when 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).
Scripting improvements
  • cd supports the -L and -P options, like other shells, to allow specifying whether symbolic links (symlinks) are resolved when changing directories (#7206).
  • cd with a relative path will now retry using the real current directory, if $PWD has 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).
Other improvements
  • fish no longer creates the __fish_initialized universal variable on startup. If you don’t expect to need to downgrade to earlier versions, you can remove it with set --erase __fish_initialized. This means that fish now only creates universal variables if instructed by the user.
For distributors and developers
  • With the exception of the $CMAKE_INSTALL_PREFIX/share/fish/man directory, fish no longer installs files to $CMAKE_INSTALL_PREFIX/share/fish. In particular, this means that both $CMAKE_INSTALL_PREFIX/share/fish/completions and $CMAKE_INSTALL_PREFIX/share/fish/functions should 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 to extra_completionsdir (typically $CMAKE_INSTALL_PREFIX/share/fish/vendor_completions.d), extra_functionsdir (typically $CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d) or extra_confdir (typically $CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d) instead. See also the output of for var in completions functions conf; pkgconf fish --variable="$var"dir; end.
Regression fixes:
  • (from 4.4.0) Vi mode c,W key binding wrongly deleted trailing spaces (#12790).
  • (from 4.4.0) Vi mode x in 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).

Thanks to everyone who contributed through issue discussions, code reviews, or code changes.

Welcome our new committers: Clément Bœsch, Deepak kudi, Drazape, Hans Larsen, Harry Garrood, Jian Weihang, Jonas Natten, June Kim, Justin Su, KeloYuan, Mark Otzen, Michael Morgan, Milo, Sean Reifschneider, Tunglies, Wes Higbee, cyphercodes, ketal, ritoban23, saku0512, sorgel

Welcome back our returning committers: Asuka Minato, Collin Styles, Daniel Rainer, David Adam, Fabian Boehm, Henrik Hørlück Berg, Johannes Altmanninger, Mahmoud Al-Qudsi, Nahor, Peter Ammon, PowerUser64, Remo Senekowitsch, Shayan, Tristan Partin, Vishrut Sachan, huaji2369, visrosa, xtqqczze


Download links: To download the source code for fish, we suggest the file named fish-4.8.0.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.8.0.tar.xz.asc.

The files called fish-4.8.0-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

macOS packages will be uploaded soon

View originalPermalink
How 4.8.0 went
4.7.1

fish 4.7.1

Fixed 1
  • Fix regression in 4.7.0 that caused the web config (fish_config) to fail to start

From fish shell

This release fixes a regression in 4.7.0 that caused the web config (fish_config) to fail to start (#12717).


Download links: To download the source code for fish, we suggest the file named fish-4.7.1.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.7.1.tar.xz.asc.

The files called fish-4.7.1-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.7.1 went
4.7.0

fish 4.7.0

Added 1
  • cargo xtask shellcheck to lint shell-scripts
Changed 10
  • prompt_pwd now strips control characters
  • fish_color_valid_path now respects background and underline colors
  • When at the command token, the alt-o binding will now open read-only files too
  • fish_update_completions now handles groff \X'...' device control escapes, fixing completion generation for man pages produced by help2man 1.50 and later
  • Removing history entries via the web-based config is more intuitive
  • If XDG_DATA_DIRS is empty, the default value is assumed, allowing fish to use configuration from paths like $PREFIX/share/fish/vendor_completions.d
Fixed 8
  • Repaint events no longer reset the completion pager and other transient UI states
  • funced will no longer lose work if there are parse errors multiple times without new changes to the file
  • Directory completions are no longer sorted in a surprising order
  • Private mode in-memory history is no longer shared with builtin read
  • History is no longer corrupted with NUL bytes when fish receives SIGTERM or SIGHUP
  • Vi mode dl regression from 4.6
  • Backspace after newline regression from 4.6
  • Long options no longer spuriously completed after typing short options
Deprecated 1
  • The default theme (i.e. the fish_color_* variables) is no longer set in non-interactive shells

From fish shell

This release brings 198 new commits since 4.6.0, contributed by 21 authors, 12 of which are new faces.

Deprecations and removed features
  • The default theme (i.e. the fish_color_* variables) is no longer set in non-interactive shells.
Interactive improvements
  • prompt_pwd now strips control characters.
  • Repaint events (as triggered by changes to color variables or by event handlers running commandline -f repaint) no longer reset the completion pager and other transient UI states (#12683).
  • fish_color_valid_path now respects background and underline colors (#12622).
  • funced will no longer lose work if there are parse errors multiple times without new changes to the file.
  • Fixed a case where directory completions were sorted in a surprising order (#12695).
  • When at the command token, the alt-o binding will now open read-only files too (#12671).
  • Private mode in-memory history (set fish_history) is no longer shared with builtin read (#12662).
Other improvements
  • History is no longer corrupted with NUL bytes when fish receives SIGTERM or SIGHUP (#10300).
  • fish_update_completions now handles groff \X'...' device control escapes, fixing completion generation for man pages produced by help2man 1.50 and later (such as coreutils 9.10).
  • Removing history entries via the web-based config is more intuitive.
  • If XDG_DATA_DIRS is empty, the default value is assumed, which means that fish will now also use configuration from paths like $PREFIX/share/fish/vendor_completions.d (#11349).
  • Some internal file descriptors were moved to number 10 or higher, to reduce risk of clashes with those used by the user in scripts.
  • The wording of error messages has been made consistent, especially for builtin subcommands (#12556).
For distributors and developers
  • When the default global config directory ($PREFIX/etc/fish) exists but has been overridden via -DCMAKE_INSTALL_SYSCONFDIR, fish will now respect that override (#10748).
  • build_tools/update_translations.fish has been replaced by cargo xtask gettext {check,new,update} (#12676).
  • cargo xtask shellcheck to lint shell-scripts.
Regression fixes:
  • (from 4.6) Vi mode dl (#12461).
  • (from 4.6) Backspace after newline (#12583).
  • (from 4.3.3) Long options were spuriously completed after typing short options (85e76ba3561).
  • (from 3.2) nosuchcommand || echo hello executes the right hand side again (#12654).

Thanks to everyone who contributed through issue discussions, code reviews, or code changes.

Welcome our new committers: Armandas Jarušauskas, Daniel D. Beck, Dennis Yildirim, Jaakko Koivisto, Kayce Basques, Nathaniel, Saúl Nogueras, Vishrut Sachan, Yakov Till, cunlem, joveian, r-vdp

Welcome back our returning committers: Bacal Mesfin, Branch Vincent, Daniel Rainer, David Adam, Johannes Altmanninger, Nahor, Peter Ammon, Remo Senekowitsch, xtqqczze


Download links: To download the source code for fish, we suggest the file named fish-4.7.0.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.7.0.tar.xz.asc.

The files called fish-4.7.0-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.7.0 went
4.6.0

fish 4.6.0

Added 5
  • New Spanish translations
  • New Japanese translations
  • fish now supports the SHELL_PROMPT_PREFIX, SHELL_PROMPT_SUFFIX, and SHELL_WELCOME environment variables
  • set_color learned the foreground and reset options
  • fish now accepts |& as alternate spelling of &| for piping both standard output and standard error
Changed 5
  • The default width for emoji is switched from 1 to 2
  • The tab completion pager now left-justifies the description of each column
  • set_color is able to turn off italics, reverse mode, strikethrough and underline individually
  • fish_indent now preserves comments and newlines immediately preceding a brace block
  • Signals like SIGWINCH no longer interrupt builtin output
Fixed 6
  • An error caused by slow terminal responses at macOS startup has been addressed
  • A crash when suspending certain pipelines with ctrl-z has been fixed
  • Intermediate artifact when redrawing prompt
  • history honors explicitly specified --color= again
  • Vi mode dl and dh
  • Error completing of commands starting with -

From fish shell

This release brings 100 new commits since 4.5.0, contributed by 27 authors, 15 of which are new committers.

Notable improvements and fixes
  • New Spanish translations (#12489).
  • New Japanese translations (#12499).
Deprecations and removed features
  • The default width for emoji is switched from 1 to 2, improving the experience for users connecting to old systems from modern desktops. Users of old desktops who notice that lines containing emoji are misaligned can set $fish_emoji_width back to 1 (#12562).
Interactive improvements
  • The tab completion pager now left-justifies the description of each column (#12546).
  • fish now supports the SHELL_PROMPT_PREFIX, SHELL_PROMPT_SUFFIX, and SHELL_WELCOME environment variables. The prefix and suffix are automatically prepended and appended to the left prompt, and the welcome message is displayed on startup after the greeting. These variables are set by systemd’s run0 for example (#10924).
Improved terminal support
  • set_color is able to turn off italics, reverse mode, strikethrough and underline individually (e.g. --italics=off).
  • set_color learned the foreground (--foreground or -f) and reset (--reset) options.
  • An error caused by slow terminal responses at macOS startup has been addressed (#12571).
Other improvements
  • Signals like SIGWINCH (as sent on terminal resize) no longer interrupt builtin output (#12496).
  • For compatibility with Bash, fish now accepts |& as alternate spelling of &|, for piping both standard output and standard error (#11516).
  • fish_indent now preserves comments and newlines immediately preceding a brace block ({ }) (#12505).
  • A crash when suspending certain pipelines with ctrl-z has been fixed (#12301).
For distributors and developers
  • cargo xtask subcommands no longer panic on test failures.
Regression fixes:
  • (from 4.5.0) Intermediate artifact when redrawing prompt (#12476).
  • (from 4.4.0) history honors explicitly specified --color= again (#12512).
  • (from 4.4.0) Vi mode dl and dh (#12461).
  • (from 4.3.0) Error completing of commands starting with - (#12522).

Thanks to everyone who contributed through issue discussions, code reviews, or code changes.

Welcome our new committers: Aditya Giri, Daan De Meyer, Daniel Danner, Helen Chong, Janne Pulkkinen, Julien Gautier, Lieuwe Rooijakkers, Mike Yuan, Noah Hellman, Remo Senekowitsch, Rodolfo Gatti, Steffen Winter, rohan436, t4k44

Welcome back our returning committers: Daniel Rainer, David Adam, Delapouite, Fabian Boehm, JANMESH ARUN SHEWALE, Johannes Altmanninger, Julio Napurí, Nahor, Peter Ammon, Volodymyr Chernetskyi, exploide, xtqqczze


Download links: To download the source code for fish, we suggest the file named fish-4.6.0.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.6.0.tar.xz.asc.

The files called fish-4.6.0-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.6.0 went
4.5.0

fish 4.5.0

Fixed 7
  • Ctrl-L no longer cancels history search
  • History search cursor positioning now works correctly with characters of arbitrary width
  • Vi mode d,f key binding did not work
  • Vi mode c,w key binding wrongly deleted trailing spaces
  • Vi mode crash on c,i,w after accepting autosuggestion
  • fish_vi_key_bindings called with a mode argument produced an error
  • Build on Illumos
Removed 1
  • fish no longer reads the terminfo database to alter behaviour based on the TERM environment variable and does not depend on ncurses or terminfo

From fish shell

This is mostly a patch release for Vi mode regressions in 4.4.0 but other minor behavior changes are included as well.

This release comprises 68 commits since 4.4.0, contributed by 16 authors, 8 of which are new committers.

Interactive improvements
  • ctrl-l no longer cancels history search (#12436).
  • History search cursor positioning now works correctly with characters of arbitrary width.
Deprecations and removed features
  • fish no longer reads the terminfo database to alter behaviour based on the TERM environment variable, and does not depend on ncurses or terminfo. The ignore-terminfo feature flag, introduced and enabled by default in fish 4.1, is now permanently enabled. fish may no longer work correctly on Data General Dasher D220 and Wyse WY-350 terminals, but should continue to work on all known terminal emulators released in the 21st century.
Regression fixes:
  • (from 4.4.0) Vi mode d,f key binding did not work (#12417).
  • (from 4.4.0) Vi mode c,w key binding wrongly deleted trailing spaces (#12443).
  • (from 4.4.0) Vi mode crash on c,i,w after accepting autosuggestion (#12430).
  • (from 4.4.0) fish_vi_key_bindings called with a mode argument produced an error (#12413).
  • (from 4.0.0) Build on Illumos (#12410).

Thanks to everyone who contributed through issue discussions, code reviews, or code changes.

Welcome our new committers: Aman Verma, Jack Pickle, Liam Snow, Pothi Kalimuthu, Salman Muin Kayser Chishti, Simon Olofsson, Tristan Partin, Weixie Cui

Welcome back our returning committers: Daniel Rainer, David Adam, Francisco Giordano, Johannes Altmanninger, Nahor, Peter Ammon, madblobfish, xtqqczze


Download links: To download the source code for fish, we suggest the file named fish-4.5.0.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.5.0.tar.xz.asc.

The files called fish-4.5.0-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.5.0 went
4.4.0

fish 4.4.0

Added 5
  • New special input functions to support Vi mode word movements: forward-word-vi, kill-word-vi, forward-bigword-vi, kill-bigword-vi, forward-word-end, backward-word-end, forward-bigword-end, backward-bigword-end, kill-a-word, kill-inner-word, kill-a-bigword, and kill-inner-bigword
  • Vi mode key bindings now support counts for movement and deletion commands via a new operator mode
  • New catppuccin-* color themes
  • set_color learned the strikethrough (--strikethrough or -s) modifier
  • New cargo xtask commands can replace some CMake workflows
Changed 5
  • The bind builtin lists mappings from all modes if --mode is not provided
  • Line-wise autosuggestions that don't start a command are no longer shown
  • Builtin history now assumes that PAGER supports ANSI color sequences
  • Vi mode word movements (w, W, e, and E) are now largely in line with Vim, with underscores treated as word separators
  • The CMake option WITH_GETTEXT has been renamed to WITH_MESSAGE_LOCALIZATION
Fixed 3
  • fish now clears the terminal's FLUSHO flag when acquiring control of the terminal, to fix an issue caused by pressing ctrl-o on macOS
  • Crash when autosuggesting Unicode characters with nontrivial lowercase mapping
  • Glitch on read --prompt-str ""
Deprecated 1
  • The default fossil prompt has been disabled

From fish shell

This release comprises 215 commits since 4.3.3, contributed by 20 authors, 9 of which are new committers.

Deprecations and removed features
  • The default fossil prompt has been disabled (#12342).
Interactive improvements
  • The bind builtin lists mappings from all modes if --mode is not provided (#12214).
  • Line-wise autosuggestions that don’t start a command are no longer shown (739b82c34db, 58e7a50de8a).
  • Builtin history now assumes that PAGER supports ANSI color sequences.
  • fish now clears the terminal’s FLUSHO flag when acquiring control of the terminal, to fix an issue caused by pressing ctrl-o on macOS (#12304).
New or improved bindings
  • Vi mode word movements (w, W, e, and E) are now largely in line with Vim. The only exception is that underscores are treated as word separators (#12269).
  • New special input functions to support these movements: forward-word-vi, kill-word-vi, forward-bigword-vi, kill-bigword-vi, forward-word-end, backward-word-end, forward-bigword-end, backward-bigword-end, kill-a-word, kill-inner-word, kill-a-bigword, and kill-inner-bigword.
  • Vi mode key bindings now support counts for movement and deletion commands (e.g. d3w or 3l), via a new operator mode (#2192).
  • New catppuccin-* color themes.
Improved terminal support
  • set_color learned the strikethrough (--strikethrough or -s) modifier.
For distributors and developers
  • The CMake option WITH_GETTEXT has been renamed to WITH_MESSAGE_LOCALIZATION, to reflect that it toggles localization independently of the backend used in the implementation.
  • New cargo xtask commands can replace some CMake workflows.
Regression fixes:
  • (from 4.1.0) Crash when autosuggesting Unicode characters with nontrivial lowercase mapping (#12326, 78f4541116e).
  • (from 4.3.0) Glitch on read --prompt-str "" (#12296).

Thanks to everyone who contributed through issue discussions, code reviews, or code changes.

Welcome our new committers: Heitor Augusto, JANMESH ARUN SHEWALE, SharzyL, Tiago de Paula, Timen Zandbergen, Wang Bing-hua, andreacfromtheapp, iksuddle, neglu

Welcome back our returning committers: Daniel Rainer, David Adam, Fabian Boehm, Ilya Grigoriev, Johannes Altmanninger, Luc J. Bourhis, Next Alone, Peter Ammon, Razzi Abuissa, phanium, xtqqczze


Download links: To download the source code for fish, we suggest the file named fish-4.4.0.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.4.0.tar.xz.asc.

The files called fish-4.4.0-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.4.0 went
4.3.3

fish 4.3.3

Added 2
  • The abbr, bind, complete, functions, history and type commands now support a --color option to control syntax highlighting in their output with values auto, always, or never
  • Existing file paths in redirection targets are now highlighted using fish_color_valid_path to indicate that the file will be clobbered
Fixed 7
  • Selecting a completion could insert only part of the token
  • Glitch with soft-wrapped autosuggestions and fish_right_prompt
  • Spurious echo in tmux when typing a command really fast
  • tomorrow theme always using the light variant
  • fish_config theme choose sometimes not shadowing themes set by webconfig
  • Sample prompts and themes are correctly installed
  • Last line of command output could be hidden when missing newline

From fish shell

This release fixes the following problems identified in fish 4.3.0:

  • Selecting a completion could insert only part of the token (#12249).
  • Glitch with soft-wrapped autosuggestions and fish_right_prompt (#12255).
  • Spurious echo in tmux when typing a command really fast (#12261).
  • tomorrow theme always using the light variant (#12266).
  • fish_config theme choose sometimes not shadowing themes set by e.g. webconfig (#12278).
  • The sample prompts and themes are correctly installed (#12241).
  • Last line of command output could be hidden when missing newline (#12246).

Other improvements include:

  • The abbr, bind, complete, functions, history and type commands now support a --color option to control syntax highlighting in their output. Valid values are auto (default), always, or never.
  • Existing file paths in redirection targets such as > file.txt are now highlighted using fish_color_valid_path, indicating that file.txt will be clobbered (#12260).

Download links: To download the source code for fish, we suggest the file named fish-4.3.3.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.3.3.tar.xz.asc.

The files called fish-4.3.3-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.3.3 went
4.3.2

fish 4.3.2

Added 1
  • New CMake build option FISH_INDENT_FOR_BUILDING_DOCS can be set to the path of a runnable fish_indent binary to fix cross compilation
Fixed 5
  • Pre-built macOS packages failed to start due to a Malformed Mach-O file error
  • extra_functionsdir (usually vendor_functions.d) and friends were not used
  • Sample config file and config directories were recreated on every startup instead of only the first time fish runs on a system
  • Spurious echo of ^[[I in some scenarios
  • Infinite prompt redraw loop on some prompts

From fish shell

This release fixes the following problems identified in 4.3.0:

  • Pre-built macOS packages failed to start due to a Malformed Mach-O file error (#12224).
  • extra_functionsdir (usually vendor_functions.d) and friends were not used (#12226).
  • Sample config file ~/.config/fish/config.fish/ and config directories ~/.config/fish/conf.d/, ~/.config/fish/completions/ and ~/.config/fish/functions/ were recreated on every startup instead of only the first time fish runs on a system (#12230).
  • Spurious echo of ^[[I in some scenarios (#12232).
  • Infinite prompt redraw loop on some prompts (#12233).
  • The removal of pre-built HTML docs from tarballs revealed that cross compilation is broken because we use ${CMAKE_BINARY_DIR}/fish_indent for building HTML docs. As a workaround, the new CMake build option FISH_INDENT_FOR_BUILDING_DOCS can be set to the path of a runnable fish_indent binary.

Download links: To download the source code for fish, we suggest the file named fish-4.3.2.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.3.2.tar.xz.asc.

The files called fish-4.3.2-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.3.2 went
4.3.1

fish 4.3.1

Fixed 1
  • Fix possible crash after expanding an abbreviation

From fish shell

This release fixes the following problem identified in 4.3.0:

  • Possible crash after expanding an abbreviation (#12223).

Download links: To download the source code for fish, we suggest the file named fish-4.3.1.tar.xz. The file downloaded from Source code (tar.gz) will not build correctly. A GPG signature using this key is available as fish-4.3.1.tar.xz.asc.

The files called fish-4.3.1-linux-*.tar.xz contain standalone fish binaries for any Linux with the given CPU architecture.

View originalPermalink
How 4.3.1 went
View all

Discussion

If you publish fish shell, you can claim this product by proving you administer its repository.