Fish Shell 4.0 Beta Released With C++ Code Ported To Rust

Written by Michael Larabel in Programming on 19 December 2024 at 09:01 AM EST. 115 Comments
PROGRAMMING
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.

Fish rewrite Rust


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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week