From 81a41e26f80b6c409a19be3e44cbc222e9195d03 Mon Sep 17 00:00:00 2001 From: David Adam Date: Wed, 11 Jan 2017 22:33:10 +0800 Subject: [PATCH] CHANGELOG: updates for 2.5b1 --- CHANGELOG.md | 91 ++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 74 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bdc0cb71..6a40488f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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)