diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1a865fb85..454ec1fec 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -32,70 +32,61 @@ This section is for changes merged to the `major` branch that are not also merge
- Improved completions for
- `git` (#4395, #4396)
+--
-# fish 2.7b1
+# fish 2.7.0 (released November 23, 2017)
-## Notable fixes and improvements
+There are no major changes between 2.7b1 and 2.7.0. If you are upgrading from version 2.6.0 or before, please also review the release notes for 2.7b1 (included below).
+
+Xcode builds and macOS packages could not be produced with 2.7b1, but this is fixed in 2.7.0.
+
+--
+
+# fish 2.7b1 (released October 31, 2017)
+
+## Notable improvements
+- A new `cdh` (change directory using recent history) command provides a more friendly alternative to prevd/nextd and pushd/popd (#2847).
- A new `argparse` command is available to allow fish script to parse arguments with the same behavior as builtin commands. This also includes the `fish_opt` helper command. (#4190).
-- The `COLUMNS` and `LINES` env vars are now correctly set the first time `fish_prompt` is run (#4141).
-- New `status is-breakpoint` command that is true when a prompt is displayed in response to a `breakpoint` command (#1310).
- Invalid array indexes are now silently ignored (#826, #4127).
-- `string escape` has a new `--style=xxx` flag where `xxx` can be `script`, `var`, or `url` (#4150).
-- `string unescape` has been implemented to reverse the effects of `string escape` (#3543).
-- The history file can now be specified by setting the `fish_history` variable (#102).
+- Improvements to the debugging facility, including a prompt specific to the debugger (`fish_breakpoint_prompt`) and a `status is-breakpoint` subcommand (#1310).
+- `string` supports new `lower` and `upper` subcommands, for altering the case of strings (#4080). The case changing is not locale-aware yet.- `string escape` has a new `--style=xxx` flag where `xxx` can be `script`, `var`, or `url` (#4150), and can be reversed with `string unescape` (#3543).
+- History can now be split into sessions with the `fish_history` variable, or not saved to disk at all (#102).
- Read history is now controlled by the `fish_history` variable rather than the `--mode-name` flag (#1504).
-- Implement a `cdh` (change directory using recent history) command to provide a more friendly alternative to prevd/nextd and pushd/popd (#2847).
-- `command` now supports a `-a` flag to report all directories with the command. This means that `which -a $cmd` is no longer necessary (#2778).
-- `--init-command`/`-C` added to the command line switches, to allow execution of commands before starting the interactive shell (#4164).
+- `command` now supports an `--all` flag to report all directories with the command. `which` is no longer a runtime dependency (#2778).
+- fish can run commands before starting an interactive session using the new `--init-command`/`-C` options (#4164).
- `set` has a new `--show` option to show lots of information about variables (#4265).
## Other significant changes
-
+- The `COLUMNS` and `LINES` environment variables are now correctly set the first time `fish_prompt` is run (#4141).
- `complete`'s `--no-files` option works as intended (#112).
-- `pushd +1` works as documented again (#4091).
-- Improved completions for `killall` (#4052), `ln` (#4090) and `zypper` (#4079).
-- Implemented `string lower` and `string upper` (#4080).
-- `help` can now open the tutorial.
-- `echo -h` now correctly echoes `-h` (#4120).
+- `echo -h` now correctly echoes `-h` in line with other shells (#4120).
+- The `export` compatibility function now returns zero on success, rather than always returning 1 (#4435).
- Stop converting empty elements in MANPATH to "." (#4158). The behavior being changed was introduced in fish 2.6.0.
-- `count -h` and `count --help` now return one rather than produce command help output (#4189).
-- Fix setting `$COLUMNS` and `$LINES` before first prompt is displayed (#4141).
-- `read` failures due to too much data should define the var (#4180).
-- multiple `read` commands in non-interactive scripts were broken in fish 2.6.0 (#4206).
-- Fix regression involving universal variables with side-effects at startup such as `set -U fish_escape_delay_ms 10` (#4196).
-- Option completion for `apt list` now works properly (#4350).
+- `count -h` and `count --help` now return 1 rather than produce command help output (#4189).
+- An attempt to `read` which stops because too much data is available still defines the variables given as parameters (#4180).
+- A regression in fish 2.4.0 which prevented `pushd +1` from working has been fixed (#4091).
+- A regression in fish 2.6.0 where multiple `read` commands in non-interactive scripts were broken has been fixed (#4206).
+- A regression in fish 2.6.0 involving universal variables with side-effects at startup such as `set -U fish_escape_delay_ms 10` has been fixed (#4196).
- Added completions for:
- `as` (#4130)
- `cdh` (#2847)
- - `dhcpd`
+ - `dhcpd` (#4115)
- `ezjail-admin` (#4324)
- - `fab` (fabric, #4153)
+ - Fabric's `fab` (#4153)
- `grub-file` (#4119)
- `grub-install` (#4119)
- `jest` (#4142)
- `kdeconnect-cli`
- `magneto` (#4043, #4108)
- `mdadm` (#4198)
+ - `passwd` (#4209)
+ - `pip` and `pipenv` (#4448)
- `s3cmd` (#4332)
- `sbt` (#4347)
- `snap` (#4215)
- - `subl` (Sublime Text 3 editor, #4277)
-
-- Improved completions for:
- - `apt`
- - `cd` (#4061)
- - `composer` (#4295)
- - `flatpak` (#4456)
- - `git` (#4117, #4147, #4329, #4368)
- - `gphoto2`
- - `killall` (#4052)
- - `ln`
- - `npm` (#4241)
- - `ssh` (#4377)
- - `tail`
- - `xdg-mime` (#4333)
- - `zypper` (#4325)
-
+ - Sublime Text 3's `subl` (#4277)
+- Lots of improvements to completions.
+- Updated Chinese and French translations.
---
diff --git a/osx/Info.plist b/osx/Info.plist
index 264dbe526..fae00c0da 100644
--- a/osx/Info.plist
+++ b/osx/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 2.6.500
+ 2.7.500
CFBundleVersion
0.1
LSApplicationCategoryType
diff --git a/osx/config.h b/osx/config.h
index baab3808c..cc49e5a77 100644
--- a/osx/config.h
+++ b/osx/config.h
@@ -200,7 +200,7 @@
#define PACKAGE_NAME "fish"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "fish 2.6.0-git"
+#define PACKAGE_STRING "fish 2.7.0-git"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "fish"
@@ -209,7 +209,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.6.0-git"
+#define PACKAGE_VERSION "2.7.0-git"
/* The size of `wchar_t', as computed by sizeof. */
#define SIZEOF_WCHAR_T 4