CHANGELOG: preliminary work on 3.2.0

[ci skip]
This commit is contained in:
David Adam 2020-07-30 23:02:41 +08:00
parent f7f35d2373
commit caf64fd0ce

View File

@ -1,64 +1,49 @@
fish next-minor fish 3.2.0 (released ???)
=============== =========================
Notable improvements and fixes Notable improvements and fixes
------------------------------ ------------------------------
- ``jobs --quiet PID`` will no longer print no suitable job if the - ``jobs --quiet PID`` no longer prints "no suitable job" if the job for PID does not exist (eg because it has finished) (#6809).
job for PID does not exist (e.g. because it has finished). #6809 - A new variable, ``fish_kill_signal``, is set to the signal tha terminated the last foreground job, or ``0`` if the job exited normally.
- A variable ``fish_kill_signal`` will be set to the signal that
terminated the last foreground job, or ``0`` if the job exited
normally.
- On BSD systems, with the ``-s`` option, ``fish_md5`` does not use the
given string, but ``-s``. From now on the string is used.
- Ctrl-C no longer kills background jobs for which job control is - Ctrl-C no longer kills background jobs for which job control is
disabled, matching POSIX semantics (#6828). disabled, matching POSIX semantics (#6828).
- A new variable, ``$fish_vi_force_cursor``, has been added. This can - A new variable, ``$fish_vi_force_cursor``, can be set to force ``fish_vi_cursor`` to attempt changing the cursor
be set to force ``fish_vi_cursor`` to attempt changing the cursor shape in vi mode, regardless of terminal. The ``fish_vi_cursor`` option ``--force-iterm`` has been deprecated.
shape in vi mode, regardless of terminal. Additionally, the
``fish_vi_cursor`` option ``--force-iterm`` has been deprecated; all
usages can be replaced by setting ``$fish_vi_force_cursor``.
- The history file is now created with user-private permissions, - The history file is now created with user-private permissions,
matching other shells (#6926). The directory containing the history matching other shells (#6926). The directory containing the history
file remains private, so there should not have been any private date file remains private, so there should not have been any private date
revealed. revealed.
- fish no longer disables flow control after every command. - fish is less aggressive about resetting terminal modes, such as flow control, after every command.
Enterprising users can now enable it for external commands with Although flow control remains off by default, enterprising users can now enable it for external commands with
``stty``. (#2315) ``stty`` (#2315).
- A new ``fish_add_path`` helper function to add paths to $PATH without producing duplicates, to be used interactively or in config.fish (#6960) - A new ``fish_add_path`` helper function to add paths to $PATH without producing duplicates, to be used interactively or in ``config.fish`` (#6960).
- The ``_`` helper function to call into fish's gettext catalog has been made a builtin for simplicity and performance (#7036) - ``fish_preexec`` and ``fish_postexec`` events are no longer triggered for empty commands.
- ``:`` (for doing nothing) and ``.`` (as a less readable name for ``source``) have also been made proper builtins rather than wrapper functions (#6854).
- ``fish_preexec`` and ``fish_postexec`` events are no longer triggered
for empty commands.
- The ``test`` builtin now better shows where an error occured (#6030). - The ``test`` builtin now better shows where an error occured (#6030).
- Add a helper function to know if the user is root (#7031).
Syntax changes and new commands Syntax changes and new commands
------------------------------- -------------------------------
- A new ``fish_is_root_user`` simplifies checking for superuser privilege, largely for use in prompts (#7031).
- Range limits in index range expansions like ``$x[$start..$end]`` may be omitted: ``$start`` and ``$end`` default to 1 and -1 (the last item) respectively.
Scripting improvements Scripting improvements
---------------------- ----------------------
- Range limits in index range expansions like ``$x[$start..$end]`` may
be omitted: ``$start`` and ``$end`` default to 1 and -1 (the last
item) respectively.
- ``string sub`` has a new ``--end`` option to specify the end index of - ``string sub`` has a new ``--end`` option to specify the end index of
a substring (#6765). a substring (#6765).
- ``string split`` has a new ``--fields`` option to specify fields to - ``string split`` has a new ``--fields`` option to specify fields to
output, similar to ``cut -f`` (#6770). output, similar to ``cut -f`` (#6770).
- ``printf`` no longer prints an error if not given an argument (not - ``printf`` no longer prints an error if not given an argument (not
even a format string) even a format string)
- The ``true`` and ``false`` builtins ignore any arguments, like other - The ``true`` and ``false`` builtins ignore any arguments, like other shells (#7030).
shells (#7030). - Computed ("electric") variables such as ``status`` are now only global in scope, so ``set -Uq status`` returns false (#7032).
- Computed ("electric") variables are now only global in scope, so ``set -Uq status`` returns false (#7032).
- The output for ``set --show`` has been shortened, only mentioning the scopes in which a variable exists (#6944). - The output for ``set --show`` has been shortened, only mentioning the scopes in which a variable exists (#6944).
- A new ``fish_posterror`` event fires when attempting to execute a command with syntax errors (#6880). - A new ``fish_posterror`` event fires when attempting to execute a command with syntax errors (#6880).
- ``fish_indent`` now removes spurious quotes in simple cases (#6722) - ``fish_indent`` now removes spurious quotes in simple cases (#6722).
- ``pushd`` only adds a directory to the stack if changing to it was successful. - ``pushd`` only adds a directory to the stack if changing to it was successful.
- ``fish --no-execute`` will no longer complain about unknown commands - ``fish --no-execute`` will no longer complain about unknown commands
or non-matching wildcards, as these could be defined differently at or non-matching wildcards, as these could be defined differently at
runtime (especially for functions). #977 runtime (especially for functions) (#977).
- Added a ``fish_job_summary`` function which is called whenever a - Added a ``fish_job_summary`` functionm which is called whenever a
background job stops or ends, or any job terminates from a signal. background job stops or ends, or any job terminates from a signal.
The default behaviour can now be customized by redefining this The default behaviour can now be customized by redefining this
function. function.
@ -75,11 +60,11 @@ Interactive improvements
- The prompt is reprinted after a background job exits (#1018). - The prompt is reprinted after a background job exits (#1018).
- Prompts whose width exceeds $COLUMNS will now be truncated instead of replaced with `"> "` (#904). - Prompts whose width exceeds $COLUMNS will now be truncated instead of replaced with `"> "` (#904).
- fish no longer inserts a space after a completion ending in ``.`` or - fish no longer inserts a space after a completion ending in ``.`` or
``,`` was accepted (#6928). ``,`` is accepted (#6928).
- When pressing Tab, fish displays ambiguous completions even when they - When pressing Tab, fish displays ambiguous completions even when they
have a common prefix, without the user having to press Tab again have a common prefix, without the user having to press Tab again
(#6924). (#6924).
- Control-z is now available for binding (#7152). - Control-Z is now available for binding (#7152).
New or improved bindings New or improved bindings
@ -107,10 +92,10 @@ Improved prompts
Improved terminal output Improved terminal output
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
- After clearing command history, success message ends in newline. - ``history clear`` output is formatted with appropriate newlines.
- Autosuggestions now show up also when the cursor passes the right - Autosuggestions now show up also when the cursor passes the right
prompt (#6948). prompt (#6948).
- The cursor shape in vi-mode is now also changed in Windows Terminal (#6999). - The cursor shape in Vi mode changes properly in Windows Terminal (#6999).
- The spurious warning about terminal size in small terminals has been removed (#6980). - The spurious warning about terminal size in small terminals has been removed (#6980).
- Dynamic titles are now enabled in Alacritty with its new terminfo entry (#7073). - Dynamic titles are now enabled in Alacritty with its new terminfo entry (#7073).
@ -133,6 +118,7 @@ Completions
- ``mpc`` - ``mpc``
- ``nc``, ``netcat``, ``nc.openbsd``, ``nc.traditional`` - ``nc``, ``netcat``, ``nc.openbsd``, ``nc.traditional``
- ``nmap``, ``ncat`` - ``nmap``, ``ncat``
- ``pyenv`` (#6551)
- ``rst2html``, ``rst2html4``, ``rst2html5``, ``rst2latex``, - ``rst2html``, ``rst2html4``, ``rst2html5``, ``rst2latex``,
``rst2man``, ``rst2odt``, ``rst2pseudoxml``, ``rst2s5``, ``rst2man``, ``rst2odt``, ``rst2pseudoxml``, ``rst2s5``,
``rst2xetex``, ``rst2xml`` and ``rstpep2html`` ``rst2xetex``, ``rst2xml`` and ``rstpep2html``
@ -146,6 +132,8 @@ Completions
- ``yadm`` - ``yadm``
- ``zopfli``, and ``zopflipng`` - ``zopfli``, and ``zopflipng``
- Lots of improvements to completions.
Deprecations and removed features Deprecations and removed features
--------------------------------- ---------------------------------
- fish no longer attempts to modify the terminal size via `TIOCSWINSZ`. - fish no longer attempts to modify the terminal size via `TIOCSWINSZ`.
@ -155,17 +143,15 @@ For distributors and developers
- fish source tarballs are now distributed using the XZ compression - fish source tarballs are now distributed using the XZ compression
method (#5460). method (#5460).
- Allow finishing builds on OS X <10.13.6 (previously builds would fail - Building on on macOS earlier than 10.13.6 succeeds, instead of failing on code-signing.
at the ``codesign`` step) - The pkg-config file now uses variables to ensure paths used are portable across prefixes.
- The pkg-config file now uses pkg-config variables - The default values for the ``extra_completionsdir``, ``extra_functionsdir``
- The default values for the extra_completionsdir, extra_functionsdir and ``extra_confdir`` options now use the installation prefix rather than ``/usr/local``.
and extra_confdir options now use the installation prefix instead of
hardcoding ``/usr/local``
- A new CMake variable ``FISH_USE_SYSTEM_PCRE2`` controls whether fish - A new CMake variable ``FISH_USE_SYSTEM_PCRE2`` controls whether fish
builds with the system-installed PCRE2, or the version it bundles. By builds with the system-installed PCRE2, or the version it bundles. By
default it prefers the system library if available, unless Mac default it prefers the system library if available, unless Mac
codesigning is enabled (#6952). codesigning is enabled (#6952).
- Running the interactive tests now depends on python 3.3+ and the pexpect package (#6825). - Running the full interactive test suit now requires on Python 3.3+ and the pexpect package (#6825).
-------------- --------------