Log message:
fish: update to 4.8.1.
fish 4.8.1 (released July 14, 2026)
===================================
Interactive improvements
------------------------
- On non-macOS platforms, :kbd:`alt-backspace`, :kbd:`alt-delete`, \
:kbd:`alt-left` and :kbd:`alt-right` operate on words again instead of tokens \
(:issue:`12122`) eliminating cross-platform differences in input handling.
- Builtin and function commands can now be colored separately via new variables \
:envvar:`fish_color_builtin` and :envvar:`fish_color_function` (:issue:`12837`).
- Add :doc:`fish_darcs_prompt <cmds/fish_darcs_prompt>` for `Darcs \
<https://darcs.net/>`__ repository status.
- Fixed a crash in ``commandline --current-process`` when the cursor is inside a \
``&|`` pipe (:issue:`12868`).
- Since prompt marking (via :ref:`OSC 133 <term-compat-osc-133>`) causes \
an issue in `Konsole's <https://apps.kde.org/konsole/>`__ default \
configuration, prompt marking had been disabled for Konsole in 4.8.0.
Now the ``omit-term-workarounds`` :ref:`feature flag <featureflags>` can \
be enabled to enable prompt marking on Konsole again (:issue:`12859`).
Regression fixes:
-----------------
- (From 4.8.0) ``abbr --position=anywhere`` completions are no longer offered in \
argument position, to avoid cluttering the completion pager (:issue:`12838`).
- (From 4.8.0) ``pacman -Q`` short option completions (:issue:`12857`).
fish 4.8.0 (released June 24, 2026)
===================================
Notable improvements and fixes
------------------------------
- Translatable messages defined in Rust source code can and should now be \
translated using `Fluent <https://projectfluent.org/>`__ instead of GNU \
gettext.
For now, GNU gettext continues to be used for translating messages defined in \
fish scripts.
To make Fluent easy to work with, we have added tooling based on the new \
`fluent-ftl-tools <https://codeberg.org/danielrainer/fluent-ftl-tools>`__ \
library.
See :ref:`Contributing Translations <localization>` (:issue:`11928`).
Deprecations and removed features
---------------------------------
- Builtin :doc:`complete's <cmds/complete>` ``--command`` and ``--path`` \
options no longer unescape their argument.
Interactive improvements
------------------------
- History search would sometimes forget about commands after those were re-run \
in concurrent sessions. This has been fixed (:issue:`10300`).
- ``fish_hg_prompt``, ``fish_git_prompt`` and ``fish_fossil_prompt`` now strip \
control characters from VCS state read off disk, matching ``prompt_pwd``.
- Abbreviations with ``--position=anywhere`` can now be completed in argument \
position, not just in command position (:issue:`12630`).
- Path component movement (:kbd:`ctrl-w`) skips escaped characters.
- Completion of short option groups will now handle ``--condition`` correctly \
(:issue:`12821`).
- Fixed an issue where :kbd:`ctrl-c` might fail to cancel certain functions \
(:issue:`12802`).
- On the first run after upgrading from an older version, fish will try harder \
to check if the current theme matches a historical default.
If it does match, fish won't create \
``~/.config/fish/conf.d/fish_frozen_theme.fish`` when upgrading from fish < \
4.3.
In particular, on systems where fish version 3.x was installed originally, \
fish will now avoid creating that file on upgrade (:issue:`12725`).
Scripting improvements
----------------------
- ``cd`` supports the ``-L`` and ``-P`` options, like other shells, to allow \
specifying whether symbolic links (symlinks) are resolved when changing \
directories (:issue:`7206`).
- ``cd`` with a relative path will now retry using the real current directory, \
if ``$PWD`` has been moved (:issue:`12700`).
- Nested brace expansions now strip unquoted leading and trailing spaces from \
entries consistently (:issue:`12794`).
- :doc:`bind <cmds/bind>` shows the files where bindings were defined \
(:issue:`12504`).
Other improvements
------------------
- fish no longer creates the ``__fish_initialized`` universal variable on startup.
If you don't expect to need to downgrade to earlier versions, you can remove \
it with ``set --erase __fish_initialized``.
This means that fish now only creates universal variables if instructed by the \
user.
For distributors and developers
-------------------------------
- With the exception of the ``$CMAKE_INSTALL_PREFIX/share/fish/man`` directory, \
fish no longer installs files to ``$CMAKE_INSTALL_PREFIX/share/fish``.
In particular, this means that both
``$CMAKE_INSTALL_PREFIX/share/fish/completions`` and
``$CMAKE_INSTALL_PREFIX/share/fish/functions``
should no longer exist.
These directories have been ignored since fish 4.2.
If another package installs fish scripts there, they should be corrected to \
install to
``extra_completionsdir`` (typically \
``$CMAKE_INSTALL_PREFIX/share/fish/vendor_completions.d``),
``extra_functionsdir`` (typically \
``$CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d``) or
``extra_confdir`` (typically \
``$CMAKE_INSTALL_PREFIX/share/fish/vendor_functions.d``) instead.
See also the output of ``for var in completions functions conf; pkgconf fish \
--variable="$var"dir; end``.
Regression fixes:
-----------------
- (from 4.4.0) Vi mode ``c,W`` key binding wrongly deleted trailing spaces \
(:issue:`12790`).
- (from 4.4.0) Vi mode ``x`` in :doc:`builtin read <cmds/read>` \
(:issue:`12724`).
- (from 4.3.3) Repeated tab would sometimes insert smartcase completions redundantly.
- (from 4.3.0) Pressing escape during command execution could insert garbage \
text into the command line (:issue:`12379`).
|
Log message:
shells/fish: update to 4.7.1
# pkgsrc changes
Illumos support has been upstreamed (yes!), hence most patches have been dropped.
# upstream changes (since 4.3.2)
fish 4.7.1 (released May 08, 2026)
==================================
This release fixes a regression in 4.7.0 that caused the web config \
(``fish_config``) to fail to start (:issue:`12717`).
fish 4.7.0 (released May 05, 2026)
==================================
Deprecations and removed features
---------------------------------
- The default theme (i.e. the ``fish_color_*`` variables) is no longer set in \
non-interactive shells.
Interactive improvements
------------------------
- :doc:`prompt_pwd <cmds/prompt_pwd>` now strips control characters.
- Repaint events (as triggered by changes to color variables or by event \
handlers running ``commandline -f repaint``) no longer reset the completion \
pager and other transient UI states (:issue:`12683`).
- :envvar:`fish_color_valid_path` now respects background and underline colors \
(:issue:`12622`).
- :doc:`funced <cmds/funced>` will no longer lose work if there are parse \
errors multiple times without new changes to the file.
- Fixed a case where directory completions were sorted in a surprising order \
(:issue:`12695`).
- When at the command token, the :kbd:`alt-o` binding will now open read-only \
files too (:issue:`12671`).
- Private mode in-memory history (``set fish_history``) is no longer shared with \
:doc:`builtin read <cmds/read>` (:issue:`12662`).
Other improvements
------------------
- History is no longer corrupted with NUL bytes when fish receives SIGTERM or \
SIGHUP (:issue:`10300`).
- :doc:`fish_update_completions <cmds/fish_update_completions>` now \
handles groff ``\X'...'`` device control escapes, fixing completion generation \
for man pages produced by help2man 1.50 and later (such as coreutils 9.10).
- Removing history entries via the :doc:`web-based config \
<cmds/fish_config>` is more intuitive.
- If :envvar:`XDG_DATA_DIRS` is empty, the default value is assumed, which means \
that fish will now also use configuration from paths like \
``$PREFIX/share/fish/vendor_completions.d`` (:issue:`11349`).
- Some internal file descriptors were moved to number 10 or higher, to reduce \
risk of clashes with those used by the user in scripts.
- The wording of error messages has been made consistent, especially for builtin \
subcommands (:issue:`12556`).
For distributors and developers
-------------------------------
- When the default global config directory (``$PREFIX/etc/fish``) exists but has \
been overridden via ``-DCMAKE_INSTALL_SYSCONFDIR``, fish will now respect that \
override (:issue:`10748`).
- ``build_tools/update_translations.fish`` has been replaced by ``cargo xtask \
gettext {check,new,update}`` (:issue:`12676`).
- ``cargo xtask shellcheck`` to lint shell-scripts.
Regression fixes:
-----------------
- (from 4.6) Vi mode ``dl`` (:issue:`12461`).
- (from 4.6) Backspace after newline (:issue:`12583`).
- (from 4.3.3) Long options were spuriously completed after typing short options \
(85e76ba3561).
- (from 3.2) ``nosuchcommand || echo hello`` executes the right hand side again \
(:issue:`12654`).
fish 4.6.0 (released March 28, 2026)
====================================
Notable improvements and fixes
------------------------------
- New Spanish translations (:issue:`12489`).
- New Japanese translations (:issue:`12499`).
Deprecations and removed features
---------------------------------
- The default width for emoji is switched from 1 to 2, improving the experience \
for users connecting to old systems from modern desktops. Users of old desktops \
who notice that lines containing emoji are misaligned can set \
``$fish_emoji_width`` back to 1 (:issue:`12562`).
Interactive improvements
------------------------
- The tab completion pager now left-justifies the description of each column \
(:issue:`12546`).
- fish now supports the ``SHELL_PROMPT_PREFIX``, ``SHELL_PROMPT_SUFFIX``, and \
``SHELL_WELCOME`` environment variables. The prefix and suffix are automatically \
prepended and appended to the left prompt, and the welcome message is displayed \
on startup after the greeting.
These variables are set by systemd's ``run0`` for example (:issue:`10924`).
Improved terminal support
-------------------------
- ``set_color`` is able to turn off italics, reverse mode, strikethrough and \
underline individually (e.g. ``--italics=off``).
- ``set_color`` learned the foreground (``--foreground`` or ``-f``) and reset \
(``--reset``) options.
- An error caused by slow terminal responses at macOS startup has been addressed \
(:issue:`12571`).
Other improvements
------------------
- Signals like ``SIGWINCH`` (as sent on terminal resize) no longer interrupt \
builtin output (:issue:`12496`).
- For compatibility with Bash, fish now accepts ``|&`` as alternate spelling \
of ``&|``, for piping both standard output and standard error \
(:issue:`11516`).
- ``fish_indent`` now preserves comments and newlines immediately preceding a \
brace block (``{ }``) (:issue:`12505`).
- A crash when suspending certain pipelines with :kbd:`ctrl-z` has been fixed \
(:issue:`12301`).
For distributors and developers
-------------------------------
- ``cargo xtask`` subcommands no longer panic on test failures.
Regression fixes:
-----------------
- (from 4.5.0) Intermediate ``⏎`` artifact when redrawing prompt (:issue:`12476`).
- (from 4.4.0) ``history`` honors explicitly specified ``--color=`` again \
(:issue:`12512`).
- (from 4.4.0) Vi mode ``dl`` and ``dh`` (:issue:`12461`).
- (from 4.3.0) Error completing of commands starting with ``-`` (:issue:`12522`).
fish 4.5.0 (released February 17, 2026)
=======================================
This is mostly a patch release for Vi mode regressions in 4.4.0 but other minor \
behavior changes are included as well.
Interactive improvements
------------------------
- :kbd:`ctrl-l` no longer cancels history search (:issue:`12436`).
- History search cursor positioning now works correctly with characters of \
arbitrary width.
Deprecations and removed features
---------------------------------
- fish no longer reads the terminfo database to alter behaviour based on the \
:envvar:`TERM` environment variable, and does not depend on ncurses or terminfo. \
The ``ignore-terminfo`` feature flag, introduced and enabled by default in fish \
4.1, is now permanently enabled. fish may no longer work correctly on Data \
General Dasher D220 and Wyse WY-350 terminals, but should continue to work on \
all known terminal emulators released in the 21st century.
Regression fixes:
-----------------
- (from 4.4.0) Vi mode ``d,f`` key binding did not work (:issue:`12417`).
- (from 4.4.0) Vi mode ``c,w`` key binding wrongly deleted trailing spaces \
(:issue:`12443`).
- (from 4.4.0) Vi mode crash on ``c,i,w`` after accepting autosuggestion \
(:issue:`12430`).
- (from 4.4.0) ``fish_vi_key_bindings`` called with a mode argument produced an \
error (:issue:`12413`).
- (from 4.0.0) Build on Illumos (:issue:`12410`).
fish 4.4.0 (released February 03, 2026)
=======================================
Deprecations and removed features
---------------------------------
- The default fossil prompt has been disabled (:issue:`12342`).
Interactive improvements
------------------------
- The ``bind`` builtin lists mappings from all modes if ``--mode`` is not \
provided (:issue:`12214`).
- Line-wise autosuggestions that don't start a command are no longer shown \
(739b82c34db, 58e7a50de8a).
- Builtin ``history`` now assumes that :envvar:`PAGER` supports ANSI color sequences.
- fish now clears the terminal's ``FLUSHO`` flag when acquiring control of the \
terminal, to fix an issue caused by pressing :kbd:`ctrl-o` on macOS \
(:issue:`12304`).
New or improved bindings
------------------------
- Vi mode word movements (``w``, ``W``, ``e``, and ``E``) are now largely in \
line with Vim. The only exception is that underscores are treated as word \
separators (:issue:`12269`).
- New special input functions to support these movements: ``forward-word-vi``, \
``kill-word-vi``, ``forward-bigword-vi``, ``kill-bigword-vi``, \
``forward-word-end``, ``backward-word-end``, ``forward-bigword-end``, \
``backward-bigword-end``, ``kill-a-word``, ``kill-inner-word``, \
``kill-a-bigword``, and ``kill-inner-bigword``.
- Vi mode key bindings now support counts for movement and deletion commands \
(e.g. `d3w` or `3l`), via a new operator mode (:issue:`2192`).
- New ``catppuccin-*`` color themes.
Improved terminal support
-------------------------
- ``set_color`` learned the strikethrough (``--strikethrough`` or ``-s``) modifier.
For distributors and developers
-------------------------------
- The CMake option ``WITH_GETTEXT`` has been renamed to \
``WITH_MESSAGE_LOCALIZATION``, to reflect that it toggles localization \
independently of the backend used in the implementation.
- New ``cargo xtask`` commands can replace some CMake workflows.
Regression fixes:
-----------------
- (from 4.1.0) Crash when autosuggesting Unicode characters with nontrivial \
lowercase mapping (:issue:`12326`, 78f4541116e).
- (from 4.3.0) Glitch on ``read --prompt-str ""`` (:issue:`12296`).
fish 4.3.3 (released January 07, 2026)
======================================
This release fixes the following problems identified in fish 4.3.0:
- Selecting a completion could insert only part of the token (:issue:`12249`).
- Glitch with soft-wrapped autosuggestions and :doc:`fish_right_prompt \
<cmds/fish_right_prompt>` (:issue:`12255`).
- Spurious echo in tmux when typing a command really fast (:issue:`12261`).
- ``tomorrow`` theme always using the light variant (:issue:`12266`).
- ``fish_config theme choose`` sometimes not shadowing themes set by e.g. \
webconfig (:issue:`12278`).
- The sample prompts and themes are correctly installed (:issue:`12241`).
- Last line of command output could be hidden when missing newline (:issue:`12246`).
Other improvements include:
- The ``abbr``, ``bind``, ``complete``, ``functions``, ``history`` and ``type`` \
commands now support a ``--color`` option to control syntax highlighting in \
their output. Valid values are ``auto`` (default), ``always``, or ``never``.
- Existing file paths in redirection targets such as ``> file.txt`` are now \
highlighted using :envvar:`fish_color_valid_path`, indicating that ``file.txt`` \
will be clobbered (:issue:`12260`).
|
Log message:
fish: update to 4.3.2
Packaging update:
- requires py-sphinx to make man pages now
- upstream fixed two patches!
4.3.2:
Some other bugs
4.3.1:
Fixes possible crash after expanding an abbreviation
4.3.0:
Deprecations and removed features
- fish no longer sets universal variables by default, which
simplifies configuration. Specifically, the fish_color_*,
fish_pager_color_* and fish_key_bindings variables are now set in
the global scope by default.
- fish_config theme choose now clears only color variables that
were set by earlier invocations of a fish_config theme choose
command (which is how fish’s default theme is set).
Scripting improvements
- New status language command allows showing and modifying
language settings for fish messages without having to modify
environment variables.
Interactive improvements
- When typing immediately after starting fish, the first prompt is
now rendered correctly.
- Completion accuracy was improved for file paths containing = or :
- Prefix-matching completions are now shown even if they don’t
match the case typed by the user
- Autosuggestions now also show soft-wrapped portions
New or improved bindings
- ctrl-w (backward-kill-path-component) also deletes escaped spaces
- New special input functions backward-path-component,
forward-path-component and kill-path-component
Improved terminal support
- Themes can now be made color-theme-aware by including both [light]
and [dark] sections in the theme file
- The working directory is now reported on every fresh prompt (via
OSC 7), fixing scenarios where a child process (like ssh) left
behind a stale working directory
- OSC 133 prompt markers now also mark the prompt end, which
improves shell integration with terminals like iTerm2
- Operating-system-specific key bindings are now decided based on
the terminal’s host OS.
- Focus reporting is enabled unconditionally, not just inside tmux
|