The Fish Shell as the interactive, user-friendly command line shell debuted its 4.0 beta release ahead of the holidays. Notably in this release is porting the C++ code over to the Rust programming language.
The Fish Shell 4.0 Beta transitions from C++ code to the Rust programming language with many changes involved as a result. The pull request for moving the Fish C++ code to Rust argued in favor of the transition:
– Nobody really likes C++ or CMake, and there’s no clear path for getting off old toolchains. Every year the pain will get worse.
– C++ is becoming a legacy language and finding contributors in the future will become difficult, while Rust has an active and growing community.
– Rust is what we need to turn on concurrent function execution.
– Being written in Rust will help fish continue to be perceived as modern and relevant.
That pull request was opened back to the start of 2023 while now is being realized with the Fish Shell 4.0 beta.
The Fish Shell 4.0 beta also now requests XTerm’s modifyOtherKeys keyboard encoding and kitty keyboard protocol’s progressive enhancements, support for building as a self-installing binary, improvements to the Ctrl-R history, a wide variety of scripting improvements, and various shell interactive improvements.
More details on the new Fish Shell 4.0 beta release via FishShell.com and a lengthy write-up of the many changes coming with Fish Shell 4.0 via GitHub.