diff --git a/ChangeLog b/ChangeLog
index 720819f4a78bc36e4d844bf5efd2a0cd61a528dd..1ad658d31d58c3b6341a61fbf5c65e2bd7609eb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,51 @@
+Changes between v2.9.5 and v2.9.6:
+----------------------------------
+
+Benno Schulenberg (39):
+      build: do not prefix an alternative rcfilename with a dot
+      build: fix compilation when configured with --disable-help
+      bump version numbers and add a news item for the 2.9.6 release
+      command-execution: do not crash when opening the pipe would fail
+      completion: correctly do a signed comparison, to avoid a segfault
+      files: prevent a hang when a call to sigaction() would fail
+      formatting, linting: redetermine the argument list for every run
+      gnulib: update to its current upstream state
+      memory: use a reallocation to reduce the amount of leakage
+      prompt: recognize Yes/No/All in English when the locale gives no match
+      rcfile: skip color commands where some color name is invalid
+      scrolling: don't redraw entire edit window when cursor goes offscreen
+      search: always go forward by default, also when coming from Goto-Line
+      search: use a better value to mean "nothing was typed"
+      speller: don't add an extra newline when saving the text to a tempfile
+      syntax: po: highlight also other escaped characters, not just \n
+      syntax: sh: colorize options only when they are preceded by whitespace
+      tweaks: adjust the translator hint about Yes/No/All
+      tweaks: correct or improve a couple of comments
+      tweaks: elide a function that is called just once
+      tweaks: fix a typo, remove a blank line, and improve some comments
+      tweaks: frob a couple of comments
+      tweaks: group some more of the empty functions together
+      tweaks: improve some comments, and exit with nonzero status upon error
+      tweaks: improve the ordering of a couple of functions
+      tweaks: invert two conditions and reshuffle, to reduce duplication
+      tweaks: move a function to its proper location
+      tweaks: move a function to its proper location
+      tweaks: rearrange a few if statements more symmetrically
+      tweaks: remove the group handling for undoing/redoing (un)indents
+      tweaks: rename a function, to be more distinct from its caller
+      tweaks: rename a function, to be more fitting and descriptive
+      tweaks: rename a variable, for clarity
+      tweaks: rename a variable, to be a bit more fitting
+      tweaks: rename a variable, to be more clear and to match another
+      tweaks: rename a variable, to match another and to be more visible
+      tweaks: reshuffle two declarations
+      tweaks: set the correct flags just once for each spell-fixing session
+      tweaks: use meaningful names instead of puzzling values
+
+Liu Hao (1):
+      replacing: always clear the backwards flag for ^\, just like for ^W
+
+
 Changes between v2.9.4 and v2.9.5:
 ----------------------------------
 
diff --git a/NEWS b/NEWS
index ad5427ad5e723d3609ac5406a09e69e12a13c69c..29dab706d6d4906e3aa150d374e90d9e44467fed 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,12 @@
+2018.04.27 - GNU nano 2.9.6 "Gomance" fixes a crash in word completion,
+             makes --enable-altrcname work again, improves the fluidity
+             of scrolling when using the touchpad, tweaks the syntaxes
+             for shell scripts and PO files, makes a replacing session
+             go always forward by default, no longer inserts a newline
+             after an external spell check of a selected region, always
+             accepts the English Y and N (and A) at a yes-no prompt in
+             any locale, and solves a few hypothetical bugs.
+
 2018.03.29 - GNU nano 2.9.5 "Kiša pada" changes the way the Scroll-Up
              and Scroll-Down commands work (M-- and M-+): instead of
              keeping the cursor in the same screen position they now
diff --git a/configure.ac b/configure.ac
index e74eae1604d97a900c360634b7e5b2ca8b45a2d0..435756eec72bbb56afd11c602fa25f373d464dd5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -16,7 +16,7 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see http://www.gnu.org/licenses/.
 
-AC_INIT([GNU nano], [2.9.5], [nano-devel@gnu.org], [nano])
+AC_INIT([GNU nano], [2.9.6], [nano-devel@gnu.org], [nano])
 AC_CONFIG_SRCDIR([src/nano.c])
 AC_CANONICAL_HOST
 AM_INIT_AUTOMAKE([1.14])
diff --git a/doc/faq.html b/doc/faq.html
index 6bbcc9d8745e4519ea00ba6b3dbf3071b475ed42..ed5b510f54c52484e906461d3efbc6b1ce3a15f1 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -91,7 +91,7 @@
 <h3><a name="1.3"></a>1.3. Why the name change from TIP?</h3>
 <blockquote><p>On January 10, 2000, TIP was officially renamed to nano because of a namespace conflict with another program called 'tip'. The original 'tip' program &quot;establishes a full duplex terminal connection to a remote host&quot;, and was included with many older Unix systems (and newer ones like Solaris). The conflict was not noticed at first because there is no 'tip' utility included with most GNU/Linux distributions (where nano was developed).</p></blockquote>
 <h3><a name="1.4"></a>1.4. What is the current version of nano?</h3>
-<blockquote><p>The current version of nano <i>should</i> be <b>2.9.5</b>.  Of course, you should always check the <a href="https://nano-editor.org/">nano homepage</a> to see what the latest and greatest version is.</p></blockquote>
+<blockquote><p>The current version of nano <i>should</i> be <b>2.9.6</b>.  Of course, you should always check the <a href="https://nano-editor.org/">nano homepage</a> to see what the latest and greatest version is.</p></blockquote>
 <h3><a name="1.5"></a>1.5. I want to read the man page without having to download the program!</h3>
 <blockquote><p>Jeez, demanding, aren't we? Okay, look <a href="https://nano-editor.org/dist/latest/nano.1.html">here</a>.</p></blockquote>
 <hr width="100%">
diff --git a/doc/nano.1 b/doc/nano.1
index f25a07ef8b5e285502a4e5dc2c2d83ec064e5d49..bf8ff87155c3ffd8c9d89a48a14645e4c3650fde 100644
--- a/doc/nano.1
+++ b/doc/nano.1
@@ -16,7 +16,7 @@
 .\"   Documentation License along with this program.  If not, see
 .\"   <http://www.gnu.org/licenses/>.
 .\"
-.TH NANO 1 "version 2.9.5" "March 2018"
+.TH NANO 1 "version 2.9.6" "April 2018"
 
 .SH NAME
 nano \- Nano's ANOther editor, an enhanced free Pico clone
diff --git a/doc/nano.texi b/doc/nano.texi
index c73cedbb0857be774486fc85d843ca41f838e16b..03c7afb8e06aa8478fa49a9536faf468fe26f682 100644
--- a/doc/nano.texi
+++ b/doc/nano.texi
@@ -8,8 +8,8 @@
 
 @smallbook
 @set EDITION 0.5
-@set VERSION 2.9.5
-@set UPDATED March 2018
+@set VERSION 2.9.6
+@set UPDATED April 2018
 
 @dircategory Editors
 @direntry
@@ -23,7 +23,7 @@
 @titlepage
 @title GNU @command{nano}
 @subtitle a small and friendly text editor
-@subtitle version 2.9.5
+@subtitle version 2.9.6
 
 @author Chris Allegretta
 @page
@@ -63,7 +63,7 @@ e-mail: @email{chrisa@@asty.org}@*
 @node Top
 @top
 
-This manual documents the GNU @command{nano} editor, version 2.9.5.
+This manual documents the GNU @command{nano} editor, version 2.9.6.
 
 @menu
 * Introduction::
diff --git a/doc/nanorc.5 b/doc/nanorc.5
index 68804b10d2d0dbdb5a7d8bd5738e92e00aa3b7e2..6a931f9667188bca139e191ac276d16694a70319 100644
--- a/doc/nanorc.5
+++ b/doc/nanorc.5
@@ -16,7 +16,7 @@
 .\"   Documentation License along with this program.  If not, see
 .\"   <http://www.gnu.org/licenses/>.
 .\"
-.TH NANORC 5 "version 2.9.5" "March 2018"
+.TH NANORC 5 "version 2.9.6" "April 2018"
 
 .SH NAME
 nanorc \- GNU nano's configuration file
diff --git a/doc/rnano.1 b/doc/rnano.1
index 0dffb63f6120e9b504e7755263a9fa0d8339d4ef..7a09f814ad2e3b4ff27cfdefc358cd7cc3059945 100644
--- a/doc/rnano.1
+++ b/doc/rnano.1
@@ -16,7 +16,7 @@
 .\"   Documentation License along with this program.  If not, see
 .\"   <http://www.gnu.org/licenses/>.
 .\"
-.TH RNANO 1 "version 2.9.5" "March 2018"
+.TH RNANO 1 "version 2.9.6" "April 2018"
 
 .SH NAME
 rnano \- a restricted nano