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.