CHANGELOG: updates for 2.5b1

This commit is contained in:
David Adam 2017-01-11 22:33:10 +08:00
parent 41a41b1591
commit 81a41e26f8

View File

@ -1,31 +1,88 @@
# fish 2.5b1 (released ???)
## Platform Changes
Starting with version 2.5, fish requires a more up-to-date version of C++, specifically C++11 (from 2011). This affects some older platforms:
### Linux
For users building from source, GCC's g++ 4.8 or later, or LLVM's clang 3.3 or later, are known to work. Older platforms may require a newer compiler installed.
Unfortunately, because of the complexity of the toolchain, binary packages are no longer published by the fish-shell developers for the following platforms:
- Red Hat Enterprise Linux and CentOS 5 & 6 for 64-bit builds
- Ubuntu 12.04 (EoLTS April 2017)
- Debian 7 (EoLTS May 2018)
Installing newer version of fish on these systems will require building from source.
### OS X SnowLeopard
Starting with version 2.5, fish requires a C++11 standard library on OS X 10.6 ("SnowLeopard"). If this library is not installed, you will see this error: `dyld: Library not loaded: /usr/lib/libc++.1.dylib`
MacPorts is the easiest way to obtain this library. After installing the SnowLeopard MacPorts release from the install page, run:
```
sudo port -v install libcxx
```
Now fish should launch successfully. (Please open an issue if it does not.)
This is only necessary on 10.6. OS X 10.7 and later include the required library by default.
## Significant changes
- fish now requires C++11 to build. GCC's g++ 4.8 or later, or LLVM's clang 3.3 or later, are known to work. Older platforms may require a newer compiler installed.
- fish now requires C++11 to build. This affects some older platforms; please see the Platform changes section for more information.
- Attempting to exit with running processes in the background produces a warning, then signals them to terminate if a second attempt to terminate them is made. This brings the behaviour for running background processes into line with stopped processes. (#3497)
- The `random` command can now have start, stop and step values specified, or the new `choice` subcommand can be used to pick an argument from a list (#3619).
- The `test` command now prints errors for numeric operations on invalid integers (#3346, #3581).
- List indexes are handled better, and a bit more liberally in some cases (`echo $PATH[1 .. 3]` is now valid) (#3579).
- `function` now errors out if passed invalid flags (#3574).
- `set_color` now supports italics ("-i") and dim mode ("-d") (#3650).
- `command` now accepts "-q"/"--quiet" for `command -sq $command` (#3591).
- Selection mode (used with "begin-selection") no longer selects a character the cursor does not move over (#3684).
- The `help` command now reads the $fish_help_browser variable (#3131).
- `random` can now have start, stop and step values specified, or the new `choice` subcommand can be used to pick an argument from a list (#3619).
- A new key bindings preset, `fish_hybrid_key_bindings`, including all the Emacs-style and Vi-style bindings, which behaves like `fish_vi_key_bindings` in fish 2.3.0 (#3556).
- `function` now returns an error when called with invalid options, rather than defining the function anyway (#3574). This was a regression present in fish 2.3 and 2.4.0.
- fish no longer prints a warning when it identifies a running instance of an old version (2.1.0 and earlier). Changes to universal variables may not propagate between these old versions and 2.5b1.
- Improved compatiblity with Android (#3585), MSYS/mingw (#2360), Solaris (#3456, #3340)
- Like other shells, the `test` builting now returns an error for numeric operations on invalid integers (#3346, #3581).
- `complete` no longer recognises `--authoritative` and `--unauthoritative` options, and they are marked as obsolete.
- `status` accepts subcommands, and should be used like `status is-interactive`. The old options continue to be supported for the foreseeable future (#3526), although only one subcommand or option can be specified at a time.
- Selection mode (used with "begin-selection") no longer selects a character the cursor does not move over (#3684).
- List indexes are handled better, and a bit more liberally in some cases (`echo $PATH[1 .. 3]` is now valid) (#3579).
## Notable fixes and improvements
- `alias`, run without options or arguments, lists all defined aliases, and aliases now include a description in the function signature that identifies them.
- `complete` accepts empty strings as descriptions (#3557).
- `command` accepts `-q`/`--quiet` in combination with `--search` (#3591), providing a simple way of checking whether a command exists in scripts.
- Abbreviations can now be renamed with `abbr --rename OLD_KEY NEW_KEY` (#3610).
- The command synopses printed by `--help` options work better with copying and pasting (#2673).
- `help` launches the browser specified by the `$fish_help_browser variable` if it is set (#3131).
- History merging could lose items under certain circumstances and is now fixed (#3496).
- The `$status` variable is now set to 123 when a syntactically invalid command is entered (#3616).
- The `status` command now accepts subcommands like `status is-interactive`. The old forms continue to be supported for the foreseeable future (#3526).
- Exiting fish now signals all background processes to terminate, not just stopped jobs (#3497).
- A new `prompt_hostname` function which prints a hostname suitable for use in prompts (#3482).
- A new function `edit_command_buffer` (bound to alt-e/alt-v by default) to edit the command buffer in $EDITOR (#3627).
- __fish_man_page (bound to alt-h by default) now tries to recognize subcommands (e.g. `git add` will now open the "git-add" man page) (#3678).
- Improved completions for `apt` (#3695), `nmcli` (#3648), `fusermount` (#3642), `make` (#3628).
- Added completions for `VBoxHeadless`, `VBoxSDL`, `base64`, `caffeinate`, `dconf`,
`dig`, `dpkg-reconfigure`, `feh`, `launchctl`, `lxc`, `mddiagnose`, `mdfind`,
`mdimport`, `mdls`, `mdutil`, `mkvextract`, `nvram`, `objdump`,
`sysbench`, and `tmutil`.
- The `__fish_man_page` function (bound to Alt-h by default) now tries to recognize subcommands (e.g. `git add` will now open the "git-add" man page) (#3678).
- A new function `edit_command_buffer` (bound to Alt-e & Alt-v by default) to edit the command buffer in an external editor (#1215, #3627).
- `set_color` now supports italics (`--italics`), dim (`--dim`) and reverse (`--reverse`) modes (#3650).
- Filesystems with very slow locking (eg incorrectly-configured NFS) will no longer slow fish down (#685).
- Improved completions for `apt` (#3695), `fusermount` (#3642), `make` (#3628), `netctl-auto` (#3378), `nmcli` (#3648), `pygmentize` (#3378), and `tar` (#3719).
- Added completions for:
- `VBoxHeadless` (#3378)
- `VBoxSDL` (#3378)
- `base64` (#3378)
- `caffeinate` (#3524)
- `dconf` (#3638)
- `dig` (#3495)
- `dpkg-reconfigure` (#3521 & #3522)
- `feh` (#3378)
- `launchctl` (#3682)
- `lxc` (#3554 & #3564),
- `mddiagnose` (#3524)
- `mdfind` (#3524)
- `mdimport` (#3524)
- `mdls` (#3524)
- `mdutil` (#3524)
- `mkvextract` (#3492)
- `nvram` (#3524)
- `objdump` (#3378)
- `sysbench` (#3491)
- `tmutil` (#3524)
---
# fish 2.4.0 (released November 8, 2016)