diff --git a/ChangeLog b/ChangeLog
index b7ced13357a226496a04a1bf4f103331d802218d..ac155d1b27a068e99fbddc5503b41dcc0ad79dc0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,98 @@
+Changes between v2.8.5 and v2.8.6:
+----------------------------------
+
+Benno Schulenberg (58):
+      build: for Solaris, tell the linker to use a threading lib
+      bump version numbers and add a news item for the 2.8.6 release
+      display: avoid a jumpy cursor by redrawing bottom bars only when needed
+      display: when back in the main loop, always redraw the help lines
+      display: wipe stale messages from the status bar straightaway
+      docs: add some more mark-up to the Info document
+      docs: be more precise about when a dash is given instead of a filename
+      docs: drop the cluttering Info-style links from the HTML manual
+      docs: improve cross references and mark-up in the Info document
+      docs: improve some spacing, especially of the synopsis in the PDF
+      docs: make the guillemot and the middle dot appear correctly in HTML
+      docs: move the descriptions of 'header' and 'magic' next to 'syntax'
+      docs: remove the mention of backslashes for the argument of 'comment'
+      docs: reword the explanation of the 'syntax' command
+      docs: use real cross references in the Info document
+      docs: use the @command and @option mark-up more consistently
+      files: don't bother counting rows when opening a fresh buffer
+      files: warn more conspicuously when the file on disk has changed
+      gnulib: update to its current state
+      input: recognize the Ctrl+Arrow key sequences from Haiku's Terminal
+      options: recognize -a and --atblanks on the command line
+      options: rename --cut to --cutfromcursor, to be clearer
+      pasting: restore the cap on the number of chunks to move backward
+      rcfile: don't require backslashing in the argument of 'comment'
+      screen: defeat a VTE/Konsole bug also for the case of --constantshow
+      screen: retain the same help-line tags when the window is resized
+      softwrap: when possible, go back a whole bunch of chunks at a time
+      startup: don't try parsing color names that were not specified
+      startup: in default mode, display the tail of the file as Pico does
+      suspension: prevent entering an invalid byte upon resume (with S-Lang)
+      syntax: gentoo: make it clearer that the file contains two syntaxes
+      syntax: man, groff: fix the string that introduces a comment
+      syntax: nanorc: don't color numeric arguments specially
+      syntax: nanorc: don't color the argument of 'linter' as if invalid
+      syntax: texinfo: cover also some special cases like @U, @OE and @TeX
+      tweaks: adjust an error message so it fits all possible cases
+      tweaks: avoid a clang warning about an expression being treated as NULL
+      tweaks: avoid a failure with black diamonds in a PDF
+      tweaks: avoid an unused-variable warning for the tiny version
+      tweaks: chuck some debugging stuff
+      tweaks: chuck two useless asserts, and elide a call to strncasecmp()
+      tweaks: correct two conditions for conditional compilation
+      tweaks: drop a bunch of useless asserts
+      tweaks: elide unneeded calls of get_last_chunk_leftedge()
+      tweaks: fix compilation with --enable-tiny
+      tweaks: move an include to the file that actually makes use of it
+      tweaks: put declarations always first, so it will compile on Haiku
+      tweaks: recognize the empty string as comment inhibitor, instead of NULL
+      tweaks: remove two superfluous includes
+      tweaks: rename a constant, to match the corresponding option
+      tweaks: rename another constant, to be more precise
+      tweaks: rename a variable, to have more contrast
+      tweaks: rename four functions, to be more distinct
+      tweaks: rename two variables, to make a little sense
+      tweaks: reshuffle some things to condense the code
+      tweaks: simplify the parsing of color combinations
+      tweaks: spell an option correctly in NEWS
+      tweaks: swap ^X and ^L in the help lines of the help viewer
+
+David Lawrence Ramsey (29):
+      display: when converting tabs, don't go beyond the screen width
+      docs: consistently describe the -U/-c and -r/-w overrides
+      docs: mention that boldtext can be overridden also for function tags
+      docs: mention the default values for comment and whitespace directives
+      moving: fix the cursor jumping back and forth with non-smooth paging
+      moving: make vertical movement account for varying chunk width
+      new feature: allow lines to be softwrapped at whitespace
+      replacing: make spotlight() account for varying chunk width
+      softwrap: add new functions for chunks of varying width
+      softwrap: don't flag EOL too early, nor break continuous text too early
+      softwrap: in do_mouse(), keep the cursor before a softwrap breakpoint
+      softwrap: make the changes to actually allow the chunk width to vary
+      softwrap: prepare for allowing the chunk width to vary
+      softwrap: remove unneeded caps on the number of chunks to move
+      syntax: nanorc: properly color a "fill" option with a negative value
+      text: adjust the comments in do_indent() and do_unindent()
+      text: make do_unindent() an exact copy of do_indent()
+      text: make sure commenting is disabled when comment "" was specified
+      text: normalize the indentation in do_indent() and do_unindent()
+      text: remove indent-related code from do_unindent()
+      text: remove the last usage of cols in do_indent() and do_unindent()
+      text: remove unindent-related code from do_indent()
+      text: remove unneeded references to cols from the indentation routines
+      text: update placewewant properly when indenting/unindenting
+      tweaks: correct a parameter type, and correct two empty initializations
+      tweaks: fix a typo in NEWS
+      tweaks: only compensate for a partially-offscreen line in softwrap mode
+      tweaks: remove unneeded braces, and mark empty parameter list as void
+      usage: a dash doesn't have to come first among the filenames
+
+
 Changes between v2.8.4 and v2.8.5:
 ----------------------------------
 
diff --git a/IMPROVEMENTS b/IMPROVEMENTS
index 7466716aae7b6fbced79a2b296c0286eb72e994c..53b85ee45097bed3c62ccfe1c0bc0be5fa3b3f0c 100644
--- a/IMPROVEMENTS
+++ b/IMPROVEMENTS
@@ -2,10 +2,11 @@ Improvements in GNU nano
 ========================
 
 Since 2.8.0:
+  - Softwrapping can be done at whitespace (with --soft --atblanks).
   - The ^G help texts have become searchable (with ^W and M-W).
   - Ctrl+Home and Ctrl+End jump to start and end of file.
-  - In softwrap mode the cursor now moves per visual row instead of per
-    logical line, and the screen will scroll per row.
+  - In softwrap mode the cursor now moves per visual row instead of
+    per logical line, and the screen will scroll per row.
 
 Since 2.7.0:
   - The keystroke ^] to complete a fragment to an existing full word.
diff --git a/NEWS b/NEWS
index cd505c51783a219e9262a3b467587a915d30ba9f..1dc136ccc729d49c2769945d3d86fa7f34dff8d4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,13 @@
+2017.07.21 - GNU nano 2.8.6 "Kekulé" offers a new feature: the ability
+		to do softwrapping between words -- at whitespace --
+		instead of always at the edge of the screen.  This can
+		be activated with -a or --atblanks or 'set atblanks'
+		together with the softwrap option.  This release further
+		fixes a handful of rare display glitches, fixes a build
+		failure on AIX, harmonizes the quoting rules in the rc
+		files, and renames the option 'cut' to 'cutfromcursor'
+		(please update your nanorc files before 2020).
+
 2017.06.25 - GNU nano 2.8.5 "Farouche" avoids a crash when waking from
 		a suspension that was induced from the outside, allows
 		negative line and column numbers on the command line,
@@ -134,7 +144,7 @@
 		input (M-V followed by a six-digit hexadecimal number which
 		must start with 0 or 10), avoids a crash when resizing the
 		window during Verbatim input, doesn't drop a keystroke after
-		having been suspended, and replaces the	beginning-of-line
+		having been suspended, and replaces the beginning-of-line
 		anchor (^) just once per line.  There are also several tiny
 		improvements in screen rendering and key handling.  Come get
 		your hair tousled!
@@ -1274,12 +1284,12 @@
 
 
 2001.02.19 - Nano 0.9.99pre3 brings a lot of changes!  The most important
-		being that nano is now officially a GNU	program.  Some
+		being that nano is now officially a GNU program.  Some
 		changes have been made for GNU compatibility (like in the
 		default list of shortcuts: "^G Get Help" is now listed
 		and "^_ Goto Line" is not).  The Yes/No/All keys have
 		finally been internationalized also.  All in all, quite
-		a few changes, considering nano	is supposed to be in
+		a few changes, considering nano is supposed to be in
 		a code freeze.  But there are the usual helping of
 		bugfixes, a nasty bug when cutting text in -k mode and
 		some compatibility issues with older ncurses libraries
diff --git a/configure.ac b/configure.ac
index f973763e47bb247e5e26fc5a57e146427a03e212..5521056b37027c5166733340263d6d31036efc25 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.8.5], [nano-devel@gnu.org], [nano])
+AC_INIT([GNU nano], [2.8.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 044dcbd09bb48e608233177c6816e4e3716f3761..e7ee2a4ba23db587a998e5ed396f956f151cfcca 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -83,7 +83,7 @@
 <h2><a name="1.3"></a>1.3. Why the name change from TIP?</h2>
 <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>
 <h2><a name="1.4"></a>1.4. What is the current version of nano?</h2>
-<blockquote><p>The current version of nano <i>should</i> be <b>2.8.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.8.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>
 <h2><a name="1.5"></a>1.5. I want to read the man page without having to download the program!</h2>
 <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 44f55406241ddd786d84d4b6db12c95a49e067ae..87473f42b86ab94e9bfc28891bd132d02166072d 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.8.5" "June 2017"
+.TH NANO 1 "version 2.8.6" "July 2017"
 .\" Please adjust this date whenever revising the manpage.
 
 .SH NAME
diff --git a/doc/nano.texi b/doc/nano.texi
index 4a4a927355a340a66add9b4b6e8c868504a2c90e..cd27a4635d37f5ffca7b8ea6217b66fbf5ad1e92 100644
--- a/doc/nano.texi
+++ b/doc/nano.texi
@@ -8,8 +8,8 @@
 
 @smallbook
 @set EDITION 0.5
-@set VERSION 2.8.5
-@set UPDATED June 2017
+@set VERSION 2.8.6
+@set UPDATED July 2017
 
 @dircategory Editors
 @direntry
@@ -23,7 +23,7 @@
 @titlepage
 @title GNU @command{nano}
 @subtitle a small and friendly text editor
-@subtitle version 2.8.5
+@subtitle version 2.8.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.8.5.
+This manual documents the GNU @command{nano} editor, version 2.8.6.
 
 @menu
 * Introduction::
diff --git a/doc/nanorc.5 b/doc/nanorc.5
index fc2e69110b75b5703c91ffa5572e1ff1fb24e827..3d715cfa1bcbee8b677c3bea06d031f7d95acad8 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.8.5" "June 2017"
+.TH NANORC 5 "version 2.8.6" "July 2017"
 .\" Please adjust this date whenever revising the manpage.
 
 .SH NAME
diff --git a/doc/rnano.1 b/doc/rnano.1
index a2cdb201cb1103f1709c3cfe9bf4640ff13da8e8..0cd0e5caea87b5e9f55c8816d36068c20b22d20b 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.8.5" "June 2017"
+.TH RNANO 1 "version 2.8.6" "July 2017"
 .\" Please adjust this date whenever revising the manpage.
 
 .SH NAME