Fish 4.2.0 released
The latest Fish shell update is now available, offering fresh features and refinements for users across Linux, macOS, and other operating systems. At its heart, Fish remains an accessible command-line environment intended to make interacting with your terminal smoother and less daunting.
A particularly welcome addition is the expanded history-based autosuggestion system. It now supports multi-line commands, meaning the shell's helpful hints can guide you through complex sequences just as effectively as simple ones; it genuinely helps simplify things without demanding complicated setup.
Beyond that, the update addresses several long-standing issues. A notorious 'sticking' prompt, which could linger annoyingly even after clearing, has finally been put to rest. The sticking prompt isn't the only bug squashed; these fixes aim for a cleaner overall experience.
For those who tailor their shell environment with custom functions or tweaks, there are useful upgrades too. You can now set your terminal tab's title distinctly apart from its window name using fish_tab_title. There's also more flexibility regarding mouse interaction; Fish won't forcibly disable capture where it isn't necessary, giving commands like DECSET/DECRST 1000 a chance to properly function.
Dealing with long lines has never been easier. Fish now intelligently hides parts of a multiline prompt that lengthy command output pushes out of view. This prevents certain elements from reappearing unnecessarily when the shell repaints, contributing to a tidier display. And speaking of smoother interaction, the improved key bindings ensure things like alt-p (history navigation) don't add unwanted spaces cluttering your command line.
Underneath the user-facing changes, developers have also worked on making Fish more robust and easier to manage. The minimum required Rust compiler version has been bumped up slightly for better stability and access to newer language features. Security is another focus; release tags and source code packages are again GPG-signed where appropriate, adding an extra layer of trust.
This matters especially if you're embedding the shell in scripts or build tools. Standalone builds are now the default mode, streamlining things so that installed files under $CMAKE_INSTALL_PREFIX/share/fish aren't accidentally used by running shells (except for documentation). This proactive step helps prevent potential hiccups during future upgrades.
Finally, a good portion of this update involves closing off smaller issues reported since the last major release. Problems with web-based config on older Python versions are fixed, along with strange terminal mode settings from specific command invocations like fish -c 'read; cat'. Resize glitches in VTE-based terminals have also been ironed out.
And for users of systems like illumos or MSYS2 who sometimes encounter build quirks? Those have been addressed too. Crashes linked to malformed function calls and issues with saving/restoring universal variables are resolved, making the shell even more reliable day-to-day.
Fish-shell/fish-shell Release fish 4.2.0
This release comprises 473 commits since 4.1.2, contributed by 35 authors, 15 of which are new committers. Notable improvements and fixes History-based autosuggestions now include multi-line comma...
