mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-29 18:51:15 -03:00
CHANGELOG: work on 3.1.0
[ci skip]
This commit is contained in:
61
CHANGELOG.md
61
CHANGELOG.md
@@ -1,17 +1,11 @@
|
||||
# fish next-minor
|
||||
# fish 3.1.0
|
||||
|
||||
## Deprecations
|
||||
- The vcs-prompt functions have been renamed to names without double-underscore, so __fish_git_prompt is now fish_git_prompt, __fish_vcs_prompt is now fish_vcs_prompt, __fish_hg_prompt is now fish_hg_prompt and __fish_svn_prompt is now fish_svn_prompt. Shims at the old names have been added, and the variables have kept their old names (#5586).
|
||||
|
||||
## Notable Fixes and improvements
|
||||
- fish no longer requires buffering for the last function in a pipeline.
|
||||
- Add `$pipestatus` support
|
||||
- $PATH is no longer reordered in child fishes (#5956).
|
||||
- `eval` is now implemented internally rather than being a function; as such, the evaluated code now shares the same argument scope as `eval` rather than being executed in a new scope (#4443).
|
||||
- macOS Mojave: fish.app can actually run (#5727), 10.14.4's Terminal.app no longer causes an error on launch (#5725)
|
||||
- cd now always checks the current directory, even if $CDPATH does not include it or "." (#4484).
|
||||
## Notable improvements and fixes
|
||||
- A new `$pipestatus` variable contains a list of exit statuses of the previous job, for each of the separate commands in a pipeline (#5632)
|
||||
- fish no longer buffers pipes to the last function in a pipeline, improving many cases where pipes appeared to block or hang (#1396).
|
||||
- `eval` no long creates a new local variable scope, but affects variables in the scope it is called from (#4443). `source` still creates a new local scope.
|
||||
- `cd` now always checks the current directory, even if $CDPATH does not include it or "." (#4484).
|
||||
- Error messages no longer include a (rather large) help summary and the stacktrace has been shortened (#3404, #5434).
|
||||
- fish now underlines every valid entered path instead of just the last one.
|
||||
- The `--debug` option has been extended to allow specifying categories. Categories may be listed via `fish --print-debug-categories`.
|
||||
- `string replace` had an additional round of escaping in the replacement (not the match!), so escaping backslashes would require `string replace -ra '([ab])' '\\\\\\\$1' a`. A new feature flag `regex-easyesc` can be used to disable this, so that it becomes `string replace -ra '([ab])' '\\\\$1' a` (#5556).
|
||||
- Some parser errors did not set `$status` to non-zero. This has been corrected (b2a1da602f79878f4b0adc4881216c928a542608).
|
||||
@@ -41,7 +35,7 @@
|
||||
- `argparse` now defaults to showing the current function name (instead of `argparse`) in its errors, making `--name` often superfluous (#5835).
|
||||
- `argparse` learned a new `--ignore-unknown` flag to keep unrecognized options, allowing multiple argparse passes to parse options (#5367).
|
||||
- `fish_indent` now handles semicolons better, including leaving them in place for `; and` and `; or` instead of breaking the line.
|
||||
- `test` (aka `[`) now prints a stacktrace on error, making the offending call easier to find (#5771).
|
||||
- `test` (aka `[`) now prints a stack trace on error, making the offending call easier to find (#5771).
|
||||
- The default read limit has been increased to 100MiB (#5267).
|
||||
- `math` now also understands `x` for multiplication, provided it is followed by whitespace (#5906).
|
||||
- `functions --erase` now also prevents fish from autoloading a function for the first time (#5951).
|
||||
@@ -51,7 +45,8 @@
|
||||
- fish_clipboard_* now supports wayland by means of [wl-clipboard](https://github.com/bugaevc/wl-clipboard).
|
||||
- Pasting will now strip leading spaces if they would trigger history ignoring (#4327).
|
||||
- New color options for the pager have been added (#5524).
|
||||
- Better detection and support for using fish from the system console, where limited colors and special characters are supported (#5552 and others)
|
||||
- Better detection and support for using fish from the system console, where limited colors and special characters are supported (#5552 and others).
|
||||
- fish now underlines every valid entered path instead of just the last one.
|
||||
- The default escape delay (to differentiate between the escape key and an alt-combination) has been reduced to 30ms, down from 300ms for the default mode and 100ms for vi-mode (#3904).
|
||||
- The `path_helper` on macOS now only runs in login shells, matching the bash implementation.
|
||||
- The `forward-bigword` binding now interacts correctly with autosuggestions (#5336)
|
||||
@@ -59,10 +54,33 @@
|
||||
- The locale is now reloaded when the `LOCPATH` variable is changed (#5815).
|
||||
- Lots of improvements to completions.
|
||||
- Added completions for
|
||||
- `cf`
|
||||
- `aws`
|
||||
- `bat`
|
||||
- `bosh`
|
||||
- `camcontrol`
|
||||
- `cf`
|
||||
- `csc`
|
||||
- `csi`
|
||||
- `cwebp`
|
||||
- `epkginfo`
|
||||
- `ffmpeg`
|
||||
- `ffplay`
|
||||
- `ffprobe`
|
||||
- `fsharpc`
|
||||
- `fsharpi`
|
||||
- `gpg2` (#6062)
|
||||
- `hledger`
|
||||
- `mariner`
|
||||
- `patool`
|
||||
- `qubes-gpg-client` (#6067)
|
||||
- `vagrant`
|
||||
- `rg`
|
||||
- `rustup`
|
||||
- `speedtest-cli`
|
||||
- `speedtest`
|
||||
- `src`
|
||||
- `tokei`
|
||||
- `tsc`
|
||||
- `vbc`
|
||||
- The git prompt in informative mode now shows the number of stashes if enabled.
|
||||
- The git prompt now has an option ($__fish_git_prompt_use_informative_chars) to use the (more modern) informative characters without enabling informative mode.
|
||||
- The nextd and prevd functions no longer print "Hit end of history", instead using a BEL.
|
||||
@@ -70,14 +88,17 @@
|
||||
- The path-component bindings (like ctrl-w) now also stop at ":" and "@" because those are used to denote user and host in ssh-likes (#5841).
|
||||
- `read` no longer keeps a history, making it suitable for operations that shouldn't end up there, like password entry (#5904).
|
||||
- When syntax highlighting a string with an unclosed quote, only the quote itself will be shown as an error, instead of the whole argument.
|
||||
- The nul character can now be bound via `bind -k nul`. Terminals often generate this character via control-space. (#3189).
|
||||
- The NULL character can now be bound via `bind -k nul`. Terminals often generate this character via control-space. (#3189).
|
||||
- A new readline command `expand-abbr` can be used to trigger abbreviation expansion (#5762).
|
||||
- The `self-insert` readline command will now insert the binding sequence, if not empty.
|
||||
|
||||
## Deprecations
|
||||
- The vcs-prompt functions have been promoted to names without double-underscore, so __fish_git_prompt is now fish_git_prompt, __fish_vcs_prompt is now fish_vcs_prompt, __fish_hg_prompt is now fish_hg_prompt and __fish_svn_prompt is now fish_svn_prompt. Shims at the old names have been added, and the variables have kept their old names (#5586).
|
||||
|
||||
### For distributors and developers
|
||||
- The autotools-based build system and legacy Xcode build systems have been removed, leaving only the CMake build system. All distributors and developers must migrate to the CMake build.
|
||||
- The doxygen-based documentation system has been removed and replaced with one based on sphinx. All distributors and developers must migrate to that.
|
||||
- The INTERNAL_WCWIDTH build option to use the system wcwidth has been removed. We believe our wcwidth is a better choice, as it has a number of configuration options that the other path never gained (#5777).
|
||||
- fish 3.0 introduced a CMake-based build system. In fish 3.1, both the Autotools-based build and legacy Xcode build system have been removed, leaving only the CMake build system. All distributors and developers must install CMake.
|
||||
- The documentation is now built with Sphinx. The old Doxygen-based documentation system has been removed. Developers, and distributors who wish to rebuild the documentation, must install Sphinx.
|
||||
- The `INTERNAL_WCWIDTH` build option has been removed, as fish always uses an internal `wcwidth` function. It has a number of configuration options that make it more suitable for general use (#5777).
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user