2020 August 12 - GNU nano 5.1 "Cantabria"
- M-Bsp (Alt+Backspace) deletes a word backwards, like in Bash.
- M-[ has become bindable. (Be careful, though: as it is the
starting combination of many escape sequences, avoid gluing
it together with other keystrokes, like in a macro.)
- With --indicator and --softwrap, the first keystroke in an
empty buffer does not crash.
- Invoking the formatter while text is marked does not crash.
- In UTF-8 locales, an anchor is shown as a diamond.
2020 July 29 - GNU nano 5.0 "Among the fields of barley"
- With --indicator (or -q or 'set indicator') nano will show a kind
of scrollbar on the righthand side of the screen to indicate where
in the buffer the viewport is located and how much it covers.
- With <Alt+Insert> any line can be "tagged" with an anchor, and
<Alt+PageUp> and <Alt+PageDown> will jump to the nearest anchor.
When using line numbers, an anchor is shown as "+" in the margin.
- The Execute Command prompt is now directly accessible from the
main menu (with ^T, replacing the Spell Checker). The Linter,
Formatter, Spell Checker, Full Justification, Suspension, and
Cut-Till-End functions are available in this menu too.
- On terminals that support at least 256 colors, nine new color
names are available: pink, purple, mauve, lagoon, mint, lime,
peach, orange, and latte. These do not have lighter versions.
- For the color names red, green, blue, yellow, cyan, magenta,
white, and black, the prefix 'light' gives a brighter color.
Prefix 'bright' is deprecated, as it means both bold AND light.
- All color names can be preceded with "bold," and/or "italic,"
(in that order) to get a bold and/or italic typeface.
- With --bookstyle (or -O or 'set bookstyle') nano considers any
line that begins with whitespace as the start of a paragraph.
- Refreshing the screen with ^L now works in every menu.
- In the main menu, ^L also centers the line with the cursor.
- Toggling the help lines with M-X now works in all menus except
in the help viewer and the linter.
- At a filename prompt, the first <Tab> lists the possibilities,
and these are listed near the bottom instead of near the top.
- Bindable function 'curpos' has been renamed to 'location'.
- Long option --tempfile has been renamed to --saveonexit.
- Short option -S is now a synonym of --softwrap.
- The New Buffer toggle (M-F) has become non-persistent. Options
--multibuffer and 'set multibuffer' still make it default to on.
- Backup files will retain their group ownership (when possible).
- Data is synced to disk before "... lines written" is shown.
- The raw escape sequences for F13 to F16 are no longer recognized.
- Distro-specific syntaxes, and syntaxes of less common languages,
have been moved down to subdirectory syntax/extra/. The affected
distros and others may wish to move wanted syntaxes one level up.
- Syntaxes for Markdown, Haskell, and Ada were added.
2020 May 23 - GNU nano 4.9.3 "Almendras"
One more bug introduced in version 4.9 is fixed: a crash when|
the terminal screen is resized while at a lock-file prompt.
2020 April 7 - GNU nano 4.9.2 "Mali Lošinj"
Another bug introduced in version 4.9 is fixed: a likely crash|
after undoing an <Enter> at the end of leading whitespace.
2020 March 31 - GNU nano 4.9.1 "Sapperdeflap"
Two bugs introduced in version 4.9 are fixed: the cursor|
getting misplaced when undoing line cuts, and filtering
of the whole buffer to a new buffer not working.
2020 March 24 - GNU nano 4.9 "die fetten Jahre sind vorbei"
- When justifying a selection, the new paragraph and the
succeeding one get the appropriate first-line indent.
- Trying to justify an empty selection does not crash.
- Redoing the insertion of an empty file does not crash.
- On the BSDs and macOS, ^H has become rebindable again
(in most terminal emulators, not on the console).
- DOS line endings in nanorc files are accepted.
- Option --suspend / 'set suspend' has been renamed to
the more logical --suspendable / 'set suspendable'.
2020 February 7 - GNU nano 4.8 "Jaška"
- When something is pasted into nano, auto-indentation is suppressed,
and the paste can be undone as a whole with a single M-U.
- When a lock file is encountered during startup, pressing ^C/Cancel
quits nano. (Pressing 'No' just skips the file and continues.)
- Shift+Meta+letter key combos can be bound with 'bind Sh-M-letter'.
Making any such binding dismisses the default behavior of ignoring
Shift for all Meta+letter keystrokes.
- The configuration option --with-slang (to be avoided when possible)
can now be used only together with --enable-tiny.
- A custom nanorc file can be specified on the command line, with
-f filename or --rcfile=filename.
2019 December 23 - GNU nano 4.7 "Havikskruid"
- A <Tab> will indent a marked region only when mark and cursor are
on different lines.
- Two indentations (any mix of tabs and spaces) are considered the
same when they look the same (that is: indent to the same level).
- When using --breaklonglines or ^J, a line will never be broken in
its leading whitespace or quoting.
- The keywords in nanorc files must be in lowercase.
2019 November 29 - GNU nano 4.6 "And don't you eat that yellow snow"
- The 'formatter' command has returned, bound by default to M-F.
It allows running a syntax-specific command on the contents of
- ^T will try to run 'hunspell' before 'spell', because it checks
spellling for the locale's language and understands UTF-8.
- Multiple errors or warnings on startup will no longer slow nano
down but will be indicated on the status bar with trailing dots.
2019 October 4 - GNU nano 4.5 "Košice"
- The new 'tabgives' command allows you to specify per syntax what
the <Tab> key should produce: some spaces, a hard TAB, ...
- The output of --help is properly aligned again for all languages.
- <Tab> will indent a marked region also when M-} has been rebound.
2019 August 25 - GNU nano 4.4 "Hagelslag"
- At startup, the cursor can be put on the first or last occurrence
of a string by preceding the filename with +/string or +?string.
- When automatic hard-wrapping occurs (--breaklonglines), any leading
quoting characters will be automatically copied to the new line.
- M-6 works again also when the cursor is at end of buffer.
2019 June 18 - GNU nano 4.3 "Musa Kart"
- The ability to read from and write to a FIFO has been regained.
- Startup time is reduced by fully parsing a syntax only when needed.
- Asking for help (^G) when using --operatingdir does not crash.
- The reading of a huge or slow file can be stopped with ^C.
- Cut, zap, and copy operations are undone separately when intermixed.
- M-D reports the correct number of lines (zero for an empty buffer).
2019 April 24 - GNU nano 4.2 "Tax the rich, pay the teachers"
- The integrated spell checker does not crash when 'spell' is missing.
- Option --breaklonglines works also when --ignorercfiles is used.
- Automatic hard-wrapping is more persistent in pushing words to the
same overflow line.
2019 April 15 - GNU nano 4.1 "Qué corchos será eso?"
- By default, a newline character is again automatically added at the
end of a buffer, to produce valid POSIX text files by default, but
also to get back the easy adding of text at the bottom.
- The now unneeded option --finalnewline (-f) has been removed.
- Syntax files are read in alphabetical order when globbing, so that
the precedence of syntaxes becomes predictable.
- In the C syntax, preprocessor directives are highlighted differently.
- M-S now toggles soft wrapping, and M-N toggles line numbers.
- The jumpy-scrolling toggle has been removed.
- The legacy keystrokes ^W^Y and ^W^V are recognized again.
- Executing an external command is disallowed when in view mode.
- Problems with resizing during external or speller commands were fixed.
2019 March 24 - GNU nano 4.0 "Thy Rope of Sands"
- An overlong line is no longer automatically hard-wrapped.
- Smooth scrolling (one line at a time) has become the default.
- A newline character is no longer automatically added at end of buffer.
- The line below the title bar is by default part of the editing space.
- Option --breaklonglines (-b) turns automatic hard-wrapping back on.
- Option --jumpyscrolling (-j) gives the chunky, half-screen scrolling.
- Option --finalnewline (-f) brings back the automatic newline at EOF.
- Option --emptyline (-e) leaves the line below the title bar unused.
- <Alt+Up> and <Alt+Down> now do a linewise scroll instead of a findnext.
- Any number of justifications can be undone (like all other operations).
- When marked text is justified, it becomes a single, separate paragraph.
- Option --guidestripe=<number> draws a vertical bar at the given column.
- Option --fill=<number> no longer turns on automatic hard-wrapping.
- When a line continues offscreen, it now ends with a highlighted ">".
- The halves of a split two-column character are shown as "[" and "]".
- A line now scrolls horizontally one column earlier.
- The bindable functions 'cutwordleft' and 'cutwordright' were renamed
to 'chopwordleft' and 'chopwordright' as they don't use the cutbuffer.
- The paragraph-jumping functions were moved from Search to Go-to-Line.
- Option --rebinddelete is able to compensate for more misbindings.
- Options --morespace and --smooth are obsolete and thus ignored.
- The --disable-wrapping-as-root configure option was removed.
2018 November 11
GNU nano 3.2 "Het kromme hout" changes the default binding
for the linter to M-B so that the spell checker (^T) can
always be used, and changes (when linting) the text in the
title bar and the color of the status bar to make linting
mode more obvious. It also adds a bindable 'zap' function
for deleting a line or marked region without changing the
cutbuffer, adds --zap to bind the <Del> and <Backspace>
keys to the zap function when something is marked, and
hard-binds <Alt+Del> to 'zap'. Furthermore, it shows the
cursor also in the help viewer (when --showcursor is used),
renames the bindable functions 'prevhistory' to 'older' and
'nexthistory' to 'newer' (update your nanorcs when needed),
reads the nanorc files also in restricted mode to allow
customization by the user (if this should not be allowed,
use --ignorercfiles in addition to --restricted), allows
in view mode to open also other files (if this should not
be allowed, use --restricted in addition to --view), makes
resizes respect a relative --fill again, no longer binds
F13...F15 by default, properly re-highlights a misspelled
word after invoking help in the internal spell checker,
and does not skip Unicode characters in string binds.
2018 September 18
GNU nano 3.1 "Je faisais des bonds comme ça!" fixes a
misbinding of ^H on some terminals and some systems,
does not leave stray stuff after the prompt upon exit
when having suspended nano while using --constantshow,
and does not allow to toggle to Replace in view mode.
2018 September 9
GNU nano 3.0 "Water Flowing Underground" speeds up the
reading of a file by seventy percent, roughly doubles the
speed of handling ASCII text, changes the way words at line
boundaries are deleted, makes <Ctrl+Delete> wipe the next
word and <Ctrl+Shift+Delete> the preceding word, binds M-Q
to 'findprevious' by default (the Tabs-to-Spaces toggle is
placed on M-O, and the More-Space toggle is fully removed),
makes an external spell check undoable, shows the correct
number of lines on the status bar when opening multiple
files, removes the 'formatter' command, removes the
'searchagain' bindable function (M-W is now bound to
'findnext' by default), moves the No-Convert toggle to the
Insert menu, removes the Backup and New-Buffer toggles from
the main menu (they remain in the Write-Out and Insert
menus, respectively), is more precise in what it accepts as
a rebindable key name, ignores any presses of <Esc> before
a valid command keystroke, recognizes some more escape
sequences for modified editing-pad keys, does not hide
rcfile error messages on a Linux console, renames the
bindable functions 'copytext' to 'copy' and 'uncut' to
'paste', and avoids a possible hang during a Full-Justify.
2018 June 2
GNU nano 2.9.8 "Espresso" brings the ability to filter the
buffer (or the marked region) through an external command
(^R^X and prefix the command with the pipe symbol, "|"), is
better at detecting and maintaining paragraphs, is able to
justify //-style comments, fixes a crash when the binding
of a key to a string lacks a closing quote, gives feedback
about the number of lines written also when prepending or
appending, and fixes a couple of bugs with the linter.
2018 May 15
GNU nano 2.9.7 "Hvide Sande" adds the option '--afterends'
for making Ctrl+Right (the nextword function) stop at word
ends instead of beginnings, accepts multibyte letters for
the Yes/No/All answers, does emergency saves of changed
buffers in the unlikely event that nano crashes, adds the
until-now missing bindable function 'linenumbers', and
renames the toggles 'constupdate' to 'constantshow' and
'cuttoend' to 'cutfromcursor', for consistency with the
corresponding options -- adjust your nanorc files soon.
2018 April 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 March 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
keep the cursor in the same text position (if possible).
This version further adds a new color name, "normal",
which gives the default foreground or background color,
which is useful when you want to undo some overzealous
painting by earlier syntax regexes. Bug fixes include:
a segfault when trying to insert a file in restricted
mode, the reading in of a new file being "undoable", a
slight miswrapping of help texts when --linenumbers was
used, and the shell syntax coloring the word "tar" in
2018 March 8
GNU nano 2.9.4 "Isabel" allows binding a key to a string
(any piece of text and/or commands), permits customizing
the color of error messages with 'set errorcolor', colors
those error messages by default in bright white on red,
makes <Enter> at the bottom of the screen scroll just one
row when --smooth is used, does not fail when redoing a
file insertion, and cancels a Shift-selection when any
cursor key is pressed without Shift even when the cursor
cannot move. Further, it treats tabs fully the same as
spaces when doing automatic hard-wrapping, allows syntax
names to be unquoted, and removes two deprecated options
and six deprecated bindable function names.
2018 January 29
GNU nano 2.9.3 "Córdoba" fixes a segfault with trimblanks
that could occur when a typed space caused the word after
it to be pushed to the next line. It further makes macros
work also when your keyboard still emits escape sequences,
adds the options -M and --trimblanks for the command line,
recognizes key combos with Shift on a few more terminals,
no longer shows dots in certain prompt texts when visible
whitespace is turned on, fixes two corner cases when doing
replacements in a marked region, allows to open a named
pipe again when using --noread, and accurately detects
a needed color change when a line contains a start match
but not a corresponding end match any more. Plus some
other small fry.
2018 January 2
GNU nano 2.9.2 "Pussy Riot" correctly displays the Modified
state when undoing/redoing (also when the file was saved
somewhere midway), improves the undoing of an automatic
linefeed at EOF, fixes a build issue on the BSDs, shows
the cursor again when compiled with --withslang, renames
the option 'justifytrim' to 'trimblanks' because it will
now snip trailing whitespace also while you are typing
(and hard-wrapping is enabled), continues pushing words
to the next line much longer (when hard-wrapping), makes
<Tab> and <Shift+Tab> indent and unindent a marked region,
allows unindenting when not all lines are indented, lets a
region marked with Shift persist when indenting/unindenting
or commenting/uncommenting it, and in those cases excludes
the last line of the region when it is not visibly marked
(which makes for a more intuitive behavior).
2017 November 27
GNU nano 2.9.1 "Damyatta" fixes a bug where, when the mark
is on, ^S would overwrite the file with just the marked
region. This release further clears the "Modified" flag
when all edits are undone, adds or updates some magic
strings, and does not forget when the cursor was last
at line 1, column 1.
2017 November 18
GNU nano 2.9.0 "Eta" introduces the ability to record and
replay keystrokes (M-: to start and stop recording, M-;
to play the macro back), makes ^Q and ^S do something
useful by default (^Q starts a backward search, and ^S
saves the current file), changes ^W to start always a
forward search, shows the number of open buffers (when
more than one) in the title bar, no longer asks to press
Enter when there are errors in an rc file, retires the
options '--quiet' and 'set quiet' and 'set backwards',
makes indenting and unindenting undoable, will look in
$XDG_CONFIG_HOME for a nanorc file and in $XDG_DATA_HOME
for the history files, adds a history stack for executed
commands (^R^X), does not overwrite the position-history
file of another nano, and fixes a score of tiny bugs.
2017 August 27
GNU nano 2.8.7 "Fragrance" fixes a lockup when tabs are
wider than the screen, makes indenting + unindenting
more predictable by retaining relative indentations,
allows pasting (^U) at a prompt, allows triple quotes
in Python to not be followed by a character, does not
scroll three pages on a roll of the mouse wheel, binds
Alt+Up and Alt+Down to findprevious and findnext, and
fixes some hard-to-describe issues with softwrapping
and boundary-crossing tabs. Enjoy.
2017 July 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 June 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,
avoids some flickering when resizing the screen while
in the file browser, opens files in the order they were
mentioned on the command line, and does not pretend to
have woken from suspension when receiving a SIGCONT.
2017 May 21
GNU nano 2.8.4 "Our Version of Events" includes the nanorc
man page again.
2017 May 18
GNU nano 2.8.3 "Hirsch" fixes a misplacement of the spotlight
during interactive replacing, avoids build failures on AIX
and Solaris, fixes a crash on Solaris, speeds up backwards
searching, improves PHP syntax highlighting, and no longer
asks "save anyway?" when the user ^Q discards the buffer.
2017 May 4
GNU nano 2.8.2 "Krats" adds another new feature: it makes
the ^G help texts searchable with ^W. Apart from that,
it fixes a crash when resizing the window in the middle
of verbatim input, avoids an unlikely crash when used
without UTF-8 support in some locales, avoids redrawing
the screen twice when switching between buffers while
line numbers are active, and works around a coloring
bug on musl. Plus tweaks to the documentation; plus
translation updates for fifteen languages.
2017 April 12
GNU nano 2.8.1 "Ellert" fixes build failures on MacOS and
on musl, fixes scrolling problems in softwrap mode when
double-width characters on row boundaries are involved,
shows double-width characters as ">" and "<" when split
across two rows, moves the cursor more predictably (at
the cost of sometimes putting it on the second "half"
of a character), avoids creating lines that consist of
only blanks when using autoindent, makes ^Home and ^End
go to the start and end of the file (on terminals that
support those keystrokes), places the cursor better when
linting, lets the linter ask only once whether to open
an included file, and adds bindings for ^Up and ^Down
in the file browser. Don't sit on your hands.
2017 March 31
GNU nano 2.8.0 "Axat" makes it easier to move around in
softwrapped lines: the Up and Down keys now step from
visual row to visual row instead of jumping between
logical lines, and the Home and End keys now move to
the start and end of a row, and only when already
there, then to the start and end of the logical line.
Furthermore, the screen can now scroll per row instead
of always per logical line. On an entirely different
front: nano now makes use of gnulib, to make it build
on more platforms. In short: there were many internal
changes, not many user-visible ones (apart form the
new softwrap navigation). The conversion to gnulib
was done by Mike Frysinger, the softwrap overhaul by
2017 February 23
GNU nano 2.7.5 "Nijntje" can properly search and replace
the \B and \b regex anchors, correctly repaints things
when multiline regexes with identical start and end are
involved, fixes a crash with zero-length regex matches,
does replacements at the edges of a marked region right,
no longer hides double-width characters at the head of
softwrapped rows, displays at most three warnings at
startup, and documents the ability to read a file from
standard input. Come tickle my ears.
2017 January 10
GNU nano 2.7.4 "Red dress" undoes deletions in an orderly
manner again (bug was introduced in previous version),
sets the preferred x position for vertical movements
more consistently, avoids some scrolling problems in
softwrap mode, installs the Info manual also when your
system lacks 'makeinfo', and corrects the behavior of
the beginning-of-word anchor (\<) in regex searches.
2016 December 28
GNU nano 2.7.3 "Ontbijtkoek" wipes away a handful of bugs:
your editor is now able to handle filenames that contain
newlines, avoids a brief flash of color when switching
between buffers that are governed by different syntaxes,
makes the Shift+Ctrl+Arrow keys select text again on a
Linux console, is more resistant against malformations
in the positionlog file, and does not crash when ^C is
typed on systems where it produces the code KEY_CANCEL.
Oh, and it no longer mistakenly warns about editing an
unlocked file just after saving a new one. That's it.
Tastes great with thick butter.
2016 December 12
GNU nano 2.7.2 "Shemesh! Shemesh!" brings another feature:
the ability to complete with one keystroke (^] by default)
a fragment of a word to a full word existing elsewhere in
the current buffer. Besides, this release fixes two bugs
related to using line numbers in softwrap mode, allows to
use the PageUp and PageDown keys together with Shift on
VTE-based terminals, stops the help lines from flickering
during interactive replacing, makes a 'set fill' override
an earlier 'set nowrap', properly restores the selected
region after an external spell check, and improves a few
other tidbits. If you should find any more bugs, please
run 'man nano | grep bugs' and report them there.
2016 October 29
GNU nano 2.7.1 "Leuven" adds an often-asked-for feature: the
ability to display line numbers beside the text. This can
be activated with -l or --linenumbers on the command line,
or with 'set linenumbers' in your nanorc, or toggled with
M-#. The coloring of these numbers can be chosen via the
option 'set numbercolor'. This release furthermore fixes
some bugs with scrolling in softwrap mode, is more strict
in the parsing of key rebindings, and marks a new buffer
as modified when the output of a command (^R ^X) has been
read into it. Come and check it out!
2016 September 1
GNU nano 2.7.0 "Suni" adds a new feature: allowing text to be
selected by holding Shift together with the cursor keys.
Besides that, nano now works also when run in very tiny
terminals (down to one line, one column), and improves
the handling of the prompt in cramped spaces. Not much,
but it's time to get it out there.
With this release we return to GNU. For just a little while
we dreamt we were tigers. But we are back in the herd,
back to a healthy diet of fresh green free grass.
2016 August 10
nano 2.6.3 "Marika" makes the Ctrl+Arrow keys work also on
a Linux virtual console, takes as verbatim only the very
first keystroke after M-V, removes any lock files that it
holds when dying, doesn't abort when a word contains digits
(when using the default speller), fixes a small sorting bug
in the file browser, makes searching case-insensitively in
a UTF-8 locale a little faster, and doesn't enter invalid
bytes when holding down both Alt keys. Santé!
2016 July 28
nano 2.6.2 "Le vent nous portera" adds two new features: the
keystrokes Ctrl+Up and Ctrl+Down for jumping between blocks
of text, and the option 'wordchars' for specifying which
characters (beside alphanumeric ones) should be considered
word-forming. Further, it provides feedback during Unicode
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
anchor (^) just once per line. There are also several tiny
improvements in screen rendering and key handling.
Come get your hair tousled!
2016 June 27
nano 2.6.1 "Stampede" is chiefly a translation update, but also
adds one little feature (the ability to use negative numbers
with Go To Line: -1 meaning the first line from the bottom),
includes syntax highlighting for Rust, and fixes three tiny
bugs (but in such far corners of the editor that they aren't
even worth mentioning).
2016 June 17
nano 2.6.0 "Rubicon" fixes more than fifty little bugs -- and
some of them not so little. It improves moving about in
the file browser, corrects failings of the internal spell
checker, adds a new feature (comment/uncomment lines, with
default binding M-3), makes some error messages clearer,
shows more of a file when positionlog is used and the cursor
is near the end, displays all error messages at startup if
there are multiple ones, does not misinterpret keystrokes
when typing very fast, is less eager to trim the filename
on narrow terminals, speeds up case-insensitive searches,
and allows to abort re-searches. Among bunches of other
things. It is worth the trouble to upgrade.
And, with this release, we take leave of the herd...
Bye! And thanks for all the grass!