fish 4.9.0
- 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
- 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 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-workaroundsfeature flag can be turned on to enable the kitty keyboard protocol on Konsole again (#12948). - On some terminals like kitty, keys like
shift-spaceandspacecan 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
cFandcTnow 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.
\133for[) 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
manfunction (#12886). - Commands like
status=123 echo $statusnow 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 --erasewas accidentally allowed. - (From 4.0.0) Builtin
fgwas 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.