fish-shell 4.0b1, now in Rust

Dec 17, 2024

fish is a smart and user-friendly command line shell with clever features that just work, without needing an advanced degree in bash scriptology. Today we are announcing an open beta, inviting all users to try out the upcoming 4.0 release.

fish 4.0 is a big upgrade. It’s got lots of new features to make using the command line easier and more enjoyable, such as more natural key binding and expanded history search. And under the hood, we’ve rebuilt the foundation in Rust to embrace modern computing1.

🎶 The beta is open, the release notes are live, and we’re ready to party like it’s 1995! 💿

Try the fish-shell 4.0 beta! View the release notes here.

You can get the beta in the following ways:

We are quite proud of this upcoming release. It represents a staggering amount of work and includes some really nice changes for users, as well as foundational improvements that will pay off in the future.

We consider this beta to be highly stable, and we use it as our primary shell. All existing fish scripts and commands are expected to keep working, with the exception of the items noted in the release notes2. Whether you are an existing user, or curious to give fish a try, this is a great opportunity to contribute to fish-shell.

Command line users are endlessly inventive, so if you notice something that isn’t working as it should, that’s a problem and we’d like to hear about it! Please report any issues you encounter by filing a GitHub Issue, or on our Matrix channel, which is also a great place to ask questions. Newbie questions welcome!

We will be publishing a follow-up post about the mechanics of the port from C++ to Rust: what went well, what could have gone better, and lessons learned.

  1. Zip disks, Sound Blaster cards, etc. 

  2. In particular, the use of ? as a wildcard is now disabled by default through a feature flag.