Fish, a popular user-friendly command-line shell, has announced version 4.3, a new release that builds on the 4.0 series.

One of the most notable changes affects how Fish handles configuration defaults. Universal variables are no longer set automatically. Instead, commonly used variables such as fish_color_, fish_pager_color_, and fish_key_bindings are now defined in the global scope.

On first startup after upgrading, Fish performs a one-time migration, freezing the current theme and key bindings into files under ~/.config/fish/conf.d/. Upstream recommends removing those generated files and managing themes directly in config.fish to keep configurations clean and predictable. Users can still opt into universal variables if needed, though this comes with limitations for dynamic theme switching.

  • Creat@discuss.tchncs.de
    link
    fedilink
    arrow-up
    4
    ·
    10 hours ago

    Yup, that’s a great summary.

    I just wanted to add that the reason it’s good, specifically better than bash, is that daring to create something that drops compatibility after I don’t know how many decades allows to actually apply the lessons from an this time. The lack of portability is basically the reason it can be better, but also obviously a bummer.