Fish shell 4.6.0 release solves color flags and emoji width issues
The Fish shell 4.6.0 release is now available for download with significant updates to color handling and prompt customization. This update addresses lingering compatibility issues that frustrated users on older terminals and fixes crashes encountered during suspend operations. Power users will appreciate the new environment variable support for systemd integration, though some might find the emoji defaults annoying.
Why emoji width changes might break your old terminal setup
The default emoji width shifted from one character to two characters in this version. This breaks alignment for people connecting to old systems via SSH or VNC where single-width rendering was expected. Users can force the old behavior by setting $fish_emoji_width back to 1 if lines start looking wonky. It is a nuisance but necessary for modern desktops that render emojis larger than legacy terminals support.
Fish shell 4.6.0 release adds finer control over styling flags
set_color now handles individual styling flags like italics and underline separately instead of resetting everything at once. Previously toggling specific attributes off required a full reset which was annoying for complex prompts. There is also a --reset flag that clears all styles instantly without needing a full command restart. This granularity makes writing custom themes much less painful than before.
Fish shell 4.6.0 release also adds support for the |& syntax used by Bash users to remove friction during script migration. It also handles SIGWINCH signals so that terminal resize events do not interrupt builtin output unexpectedly. A crash when suspending certain pipelines with ctrl-z has been fixed which helps stability on Linux distributions.
Release fish 4.6.0
This release brings 100 new commits since 4.5.0, contributed by 27 authors, 15 of which are new committers.

