]> Sergey Matveev's repositories - nnn.git/blob - CHANGELOG
Prepare for release v3.7 Sushi
[nnn.git] / CHANGELOG
1 nnn v3.7 Sushi
2 2021-04-13
3
4 - allow plugins to clear selection (#884, #889, #917)
5 - do not clear selection on hovered file deletion
6 - resurrect `'c'urrent/'s'el` prompt and option `-u` (#889)
7 - show only file name in reverse in detail mode
8 - more file/mime types supported in `preview-tui-ext`
9 - plugin `mtpmount` - (un)mount MTP devices
10 - plugin `cleanfilename` - more shell-friendly file names
11 - plugin `rsynccp` - copy-paste with visual progress
12 - replace `$HOME` by `~` in address bar
13 - show current path in terminal title (#911)
14 - total links and inode number of hardlink in statusbar
15 - fix symlink to text file not opening in CLI editor (#890)
16 - fix symlink size shown as 0B in statusbar (#888)
17 - show symlink target in statusbar (#893)
18 - show correct disk free/total on macOS (#888)
19 - fix directory disk usage showing as 0 on macOS (#941)
20 - fix name col len with `-C` and icons compiled-in (#936)
21 - refactor printing entries in light/detail modes (#934)
22 - make option `O_CKBOARD` for checker board as indicator
23
24 -------------------------------------------------------------------------------
25
26 nnn v3.6 Nina
27 2021-03-16
28
29 - REPL command prompt (<kbd>Esc</kbd> or <kbd>Enter</kbd> to exit)
30 - invert selection with <kbd>A</kbd>
31 - option `-u` removed (always prefer selection to hovered)
32 - visit start dir on <kbd>@</kbd> when start path is a file
33 - exit filter mode and redraw on <kbd>^L</kbd> if no last filter
34 - plugin `fzcd` now selects the chosen file (#876)
35 - `ueberzug` support in plugin `preview-tui`
36 - new plugin `preview-tui-ext` with extra preview support
37 - clear selection after successful plugin invocation
38 - add method to sync subshell `$PWD` in WIki
39 - clear selection on single file deletion (#812)
40 - copy between instances not working (#864)
41 - plugin `togglex` to toggle exe mode of a selection (#813)
42 - fix `memccpy()` buffer overlap fault on macOS (#786)
43 - show `0 selected` msg on cp/mv with empty selection (#855)
44 - fix frozen terminal caused by opener (#858)
45 - migrate macOS CI to GitHub workflows, retire Travis
46
47 -------------------------------------------------------------------------------
48
49 nnn v3.5 Freddie
50 2020-11-17
51
52 - compile-in Alexey Tourbin's QSORT macro
53 - support Nerd Font patched icons [`make O_NERD=1`]
54 - auto-generate static binaries with icons support
55 - audit and adapt all plugins for macOS
56 - enhance plugin `dups` to delete duplicates interactively
57 - plugin `autojump` now supports `jump` and `zoxide`
58 - support `gio trash` to Trash [`export NNN_TRASH=2`] (#740)
59 - quit program on double <kbd>Esc</kbd> in normal mode (#775)
60 - <kbd>^Space</kbd> replaces <kbd>^K</kbd> for range selection/clear selection
61 - show selection symbol (`+`) next to filename in detail mode (#741)
62 - error & quit on <kbd>Q</kbd> if no selection, else pick to stdout
63 - repeat <kbd>^T</kbd> to cycle sort by time, size and clear
64 - option `-U` to show user & group info in status bar
65 - option `-J` to disable auto-proceed on select (#713)
66 - option `-D` to show dirs in context color with `NNN_FCOLORS`
67 - honor option `-C` for context colors
68 - show indicators if more entries above/below listing (#744)
69 - show missing utility name in flash msg (#753)
70 - exit `preview-tabbed` on <kbd>^C</kbd> (#727)
71 - invoke GNU sed (_gsed_) on macOS (#728)
72 - fix HW cursor moves to wrong line (#735)
73 - fix rollover bug with multiline scroll (#743)
74 - fix input stream not listed with `-s`/`-S` (#777)
75 - fix locker not being invoked
76 - make target `upx` for additional binary compression
77 - compress auto-generated static binaries with upx
78 - make variable `O_NOSSN` to compile out sessions
79 - make variable `O_NOUG` to compile out user & group info
80
81 -------------------------------------------------------------------------------
82
83 nnn v3.4 Emilia
84 2020-08-18
85
86 - icons with icon-specific colors (thanks @KlzXS)
87 - enhanced `NNN_COLORS` with xterm 256 colors support
88 - new colorscheme with `NNN_FCOLORS` (file type specific colors)
89 - switch `-C` to force earlier colorscheme (dirs follow context color)
90 - updates for Haiku (thanks @CodeforEvolution)
91 - fix XFS navigation issue (thanks @ucs1)
92 - optimize archive extension matching on file open
93 - show location in context color
94 - support `host[:dir]` format for remote mounts
95 - clear selection after copy
96 - support traversal on file/dir creation
97 - show selection in reverse in status bar
98 - show status bar indicator `H` when hidden files are listed
99 - show and confirm archive command output
100 - support _cd on quit_ in picker mode
101
102 -------------------------------------------------------------------------------
103
104 nnn v3.3
105 2020-07-14
106
107 - subdir `mounts` for remote and archive mounts
108 - remove mount point on successful unmount of remote/archive
109 - show error and prompt user if `cp`/`mv`/`rm` operation fails
110 - support absolute/relative paths in cp/mv as
111 - mark current path automatically on archive/remote mount
112 - mark current path automatically on target file visit in _find and list_ mode
113 - option `-C` to place HW cursor on hovered for screen readers and braille displays
114 - option `-u` to use selection (if available) and skip `current/sel` prompt
115 - key <kbd>Alt+Esc</kbd> to clear filter prompt and redraw
116 - support <kbd>Esc</kbd> to cancel remove operation
117 - `gpge` & `gpgd`: encrypt and decrypt with GPG
118 - `blknew`: create new files and directories in bulk
119 - `preview-tui`
120   - unified to support `tmux`/`kitty`/`xterm`/`$TERMINAL`
121   - auto-determine split orientation based on terminal height and width
122   - provision to use [`scope.sh`](https://github.com/ranger/ranger/blob/master/ranger/data/scope.sh) and [`pistol`](https://github.com/doronbehar/pistol)
123 - various other improvements
124 - `upload`: send to Firefox Send if [`ffsend`](https://github.com/timvisee/ffsend) is found
125 - `hexview`: add [`hx`](https://github.com/krpors/hx) as alternative hex viewer
126 - `nuke` and `imgview`: add [`imv`](https://github.com/eXeC64/imv) as alternative image viewer
127 - add find (with `fd`) and grep (with `rg`) examples in plugins doc
128 - key <kbd>Esc</kbd> or left click to resend hovered file path to `NNN_FIFO`
129 - show `+` instead of `s` in status bar on selection
130 - <kbd>F5</kbd> removed (misfit for toggle hidden), <kbd>^S</kbd> removed (often masked, redundant)
131 - handle abnormal program termination and remove NNN_PIPE and/or NNN_FIFO
132 - clear selection after successful batch rename, link creation
133 - make option `O_CTX8` for 8 contexts (NOT backward compatible with 4 contexts)
134 - fix issue with child window resize (see #656)
135 - fix issue with `NNNLVL` on macOS (see #639)
136 - fix issue with restoring session with du/au enabled
137
138 -------------------------------------------------------------------------------
139
140 nnn v3.2
141 2020-05-26
142
143 - an official logo
144 - previews
145   - config `NNN_FIFO` to write hovered file paths a previewer can read
146   - plugin `preview-tabbed`: [tabbed](https://tools.suckless.org/tabbed)/xembed based file previewer
147   - plugin `preview-tui`: simple TUI file previewer in tmux/xterm
148   - plugin `preview-kitty`: preview using kitty terminal's capabilities
149   - [live preview](https://github.com/jarun/nnn/wiki/Live-previews) configuration example
150 - find & list
151   - send list of files from (cmd run as) plugin to  `nnn`
152   - plugin `finder`: find/fd/fzf/grep/ripgrep/fzf (in subtree) and list in `nnn`
153   - <kbd>Right</kbd> or <kbd>l</kbd> on symlink in list dir takes to target file
154 - persistent session option `-S` [for disk usage, run `nnn -T d` (see help)]
155 - hover on the file when a file path is passed as positional argument
156 - go to first file or match with <kbd>'</kbd> (followed by <kbd>'</kbd> or <kbd>char</kbd>)
157 - config `NNN_SEL` to specify custom selection file
158 - config `NNN_LOCKER` to specify locker program
159 - dim file details in detail mode
160 - call `chdir()` on directory change
161 - option `-l`: number of lines to move on mouse scroll
162 - graphical [keybind map](https://github.com/jarun/nnn/wiki/Usage#graphical-map)
163 - let `NNN_COLORS` override `NO_COLOR`
164 - plugins
165   - option `-P`: run plugin by key at start
166   - run plugins with <kbd>Alt+key</kbd>
167   - allow `NNN_PIPE` usage by commands run as plugin
168   - input format to `NNN_PIPE`: `<ctxcode><opcode><data>` (see plugins doc)
169   - set `ctxcode` to `+` for smart context usage (next inactive, else current)
170   - `getplugs` to fetch plugins by installed version of `nnn`
171   - plugin `mimelist`: list files by mime type in subtree
172   - plugin `bookmarks`: named bookmarks using symlinks
173   - plugin `nbak`: backup `nnn` config
174   - `nuke` adds lowdown as alternative markdown viewer
175   - several plugin improvements
176 - fix broken screen on resize (see #520)
177 - fix broken version sort (see #550)
178 - fix list and pipe modes not working together
179 - fix multiple issues with listing files
180 - fix `@` shown in detail mode for symlink to dir
181 - fix listing files directly under `/`
182 - move to `-std=c11`
183
184 -------------------------------------------------------------------------------
185
186 nnn v3.1
187 2020-04-13
188
189 - unlimited bookmarks and plugin keys
190 - status bar text in context color
191 - support config `NO_COLOR` to disable colors
192 - config `NNN_OPTS` to specify binary options to `nnn`
193 - config `NNN_MCLICK` to emulate configurable key
194 - toggle selection on right click
195 - ignore hard links when calculating disk usage
196 - dim (hard/sym) link names (symlink to file has `@`)
197 - more special keys at empty filter prompt in _type-to-nav_
198 - key <kbd>></kbd> to export file list
199 - option `-F` to show fortune in help and settings screen
200 - option `-T` to specify sort order (obsoletes `-v`)
201 - option to clear sort order
202 - key <kbd>T</kbd> to change time type (access/change/mod)
203 - `.nmv` - internal fully-functional batch renamer plugin
204 - make var `O_NOBATCH` to disable native batch renamer
205 - `nuke` & `imgview` - open all images in directory sxiv
206 - `nuke` - open log files in vi
207 - plugin `x2sel` - system clipboard to selection copier
208 - plugin `fzy` - cd using z database
209 - plugin `fzopen` - support `FZF_DEFAULT_COMMAND`
210 - create new context on TAB without prompt
211 - hover and connect by dir name (within config dir)
212 - move to next entry on current file delete
213 - on single file copy/move, select the copied/moved file
214 - option `-f` to to use readline history file (off by default)
215 - use `s` in status bar to indicate selection in progress
216 - make var `O_NOMOUSE` to disable mouse support
217 - do not store `NNN_TRASH` and `-Q` in config/session
218 - add sample .desktop file for XDG compatible DEs
219 - rename _nav-as-you-type_ to _type-to-nav_ mode
220 - fix PCRE case-insensitive regex search
221 - fix no error msg when filter length limit exceeded
222 - fix static package generation
223 - fix broken abort message when started in du-mode
224 - fix filter lost on context switch in non _type-to-nav_ mode
225 - fix broken readline prompt
226 - fix long strings treated as action keys in filter prompt
227 - fix `NNNLVL` not reset when spawned shell is exited
228
229 -------------------------------------------------------------------------------
230
231 nnn v3.0
232 2020-02-12
233
234 - take list of files as input and show
235 - option `-e` replaces `NNN_USE_EDITOR`
236 - option `-t` replaces `NNN_IDLE_TIMEOUT`
237 - PCRE support
238 - more readline bindings for native prompts
239 - run GUI app as plugin
240 - attempt lazy unmount when regular unmount fails
241 - fix unmount on macOS: use `umount`
242 - detect `sshfs` and `rclone` to prompt intelligently
243 - auto-proceed on file open (toggle key <kbd>+</kbd>)
244 - quit with error code on <kbd>Q</kbd>
245 - additional key <kbd>F5</kbd> to toggle hidden
246 - key <kbd>e</kbd> to edit in EDITOR (back on multiple user requests)
247 - option to edit list of files in selection is changed to <kbd>E</kbd>
248 - do not end selection on redraw
249 - `nuke`: [`glow`](https://github.com/charmbracelet/glow) as Markdown viewer
250 - `nuke`: refactor, handle some common video types by extension
251 - file name removed from status bar
252 - static Makefile target
253 - generate, upload static package on release
254 - fix crash on entering empty dir, then Down
255 - fix keypresses lost when showing message
256 - fix #227: `nnn` creates xdg-open zombies
257
258 -------------------------------------------------------------------------------
259
260 nnn v2.9
261 2020-01-15
262
263 - all keybinds and options reviewed by the team and frozen (see #422)
264   - reduced number of keybinds
265 - greatly improved help screen readability
266 - `nuke`: sample opener (CLI-only by default) and plugin
267 - fast line redraws instead of full screen refresh (thanks @annagrram)
268 - auto archive handling by extension (see config `NNN_ARCHIVE`)
269 - Lead key simplified to bookmark key (<kbd>b</kbd> or <kbd>^/</kbd>)
270 - single key to toggle order (<kbd>t</kbd> or <kbd>^T</kbd>)
271 - plugins
272   - `.cbcp`: copy selection to system clipboard (internal, program option `-x`)
273   - `.ntfy`: show noti on cp, mv, rm completion (internal, program option `-x`)
274   - `autojump`: navigate using autojump
275   - `upload`: paste text files to http://ix.io, upload rest to https://file.io
276   - all fuzzy plugins modified to support both `fzf` and `fzy`
277 - more control on plugins
278   - prefix `-` to skip directory refresh after running (cmd as) plugin
279   - suffix `*` to skip confirmation after running cmd as plugin
280 - indicate range selection mode with `*`
281 - list keys at bookmark and plugin key prompts
282 - visit to pinned dir like bookmarks (Bookmark key followed by <kbd>,</kbd>)
283 - toggle executable (key <kbd>*</kbd>)
284 - show mime along with file details
285 - more special keys at empty filter prompt:
286   - apply the last filter (<kbd>^L</kbd>)
287   - toggle between string and regex (<kbd>/</kbd>)
288   - toggle case-sensitivity (<kbd>:</kbd>)
289 - retain filter on <kbd>Esc</kbd>, <kbd>Up</kbd>, <kbd>Down</kbd>
290 - show filter details when filter is on
291 - remove option to run filter as cmd on prompt key (can be disruptive)
292 - program options
293   - option `-x`: enable notis and copy selection to system clipboard
294   - option `-g`: regex filters (string filter is default now)
295   - option `-Q`: quit program without confirmation
296   - option `-s`: load session
297   - option `-n`: start in nav-as-you-type mode
298   - option `-v`: version sort
299   - option `-V`: show program version
300   - option `-A`: disable dir auto-select
301 - ISO 8601 compliant date in status bar
302 - ported to Haiku OS (thanks @annagrram)
303 - sort only filtered entries (to avoid directory refresh)
304 - fix `getplugs` to install hidden files
305 - fix several selection issues (see #400)
306 - fix detail mode not restored on loading session
307 - fix symlink to directory not auto-selected
308 - fix regex error on partial regex patterns
309 - fix symlink not shown if `stat(2)` on target fails
310 - fix flags when spawning a CLI opener as default FM
311 - fix issue with stat flag on Sun (no support for `dirent.d_type`)
312 - fix current file in current context not saved correctly in session
313 - signed source distribution on release
314 - simplified debugging with line numbers in logs
315
316 -------------------------------------------------------------------------------
317
318 nnn v2.8.1
319 2019-12-05
320
321 - Fix always archiving current file
322 - More elaborate docs on selection changes
323
324 -------------------------------------------------------------------------------
325
326 nnn v2.8
327 2019-12-04
328
329 - sessions (thanks @annagrram)
330 - `rclone` support for remote access (mount _any_ cloud storage!!!)
331 - toggle selection with <kbd>Space</kbd> or <kbd>^J</kbd>
332 - ignore events during selection so the `+` symbol is not lost
333 - run custom (non-shell-interpreted) commands like plugins
334 - configure _cd-on-quit_ as the default behaviour
335 - create parent dirs for new files and dirs, duplicate a file/dir anywhere
336 - _copy/move as_ workflow (thanks @KlzXS)
337 - edit , flush selection buffer (thanks @KlzXS)
338 - support xargs with minimal options (as in BusyBox) (thanks @KlzXS)
339 - changed the key to size sort to <kbd>z</kbd>
340 - additional key <kbd>]</kbd> to show command prompt
341 - mount archives using `archivemount`
342 - smoother double click handling
343 - program option `-R` to disable rollover at edges
344 - keybind collision checker (for custom keybind config) (thanks @annagrram)
345 - show size of file in bytes in status bar in disk usage mode
346 - pass unresolved path as second argument (`$2`) to plugin
347 - mechanism for plugins to control active directory
348 - all binary questions are confirmed by <kbd>y</kbd> or <kbd>Y</kbd>
349 - plugins
350   - some plugins renamed
351   - integrated `shellcheck` in CI, POSIX-compliance fixes (thanks @koalaman)
352   - `getplugs` - detect modifications in exiting plugin file (thanks @KlzXS)
353   - `drag-file` & `drop-file`: drag & drop files using dragon
354   - `gutenread`: browse, download and read from Project Gutenberg
355   - `suedit` - edit file with superuser permissions
356   - `fzhist` - fuzzy select commands from history, edit and run
357   - `fzcd` - change to a fuzzy-searched directory
358   - `rename` - batch rename directory or selection using qmv or vidir
359   - `pskill` - fuzzy list a process or zombies by name and kill
360   - `exetoggle` - toggle executable status of hovered file
361   - `treeview` - informative tree output with file permissions and size
362   - `chksum` - recursively calculate checksum for files in hovered directory
363   - `fzopen` renamed to `fzopen`
364   - `imgsxiv` instructions added to browse and rename images
365 - create link to current file
366 - additional key <kbd>;</kbd> to execute plugin
367 - more explicit force removal message
368 - force non-detachable internal edits in $EDITOR (option `-E`)
369 - export current file as `$nnn` (instead of `$NN`)
370 - fix file open failure from browser when configured as default FM
371
372 -------------------------------------------------------------------------------
373
374 nnn v2.7
375 2019-10-06
376
377 - plugins for image preview, image and video thumbnails
378 - redesigned selection workflow
379 - drop path prefix for files in current dir for selection based archives
380 - custom direct keybinds for plugins
381 - libreadline `.history` file moved to `nnn` config directory
382 - export current entry as `$NN` at command prompt
383 - more informative status bar in light/detail modes
384 - auto-proceed to next file on single file select
385 - path clipping for long paths
386 - completely revamped wiki
387 - new program options:
388   - `-a` to use file access time throughout the program
389   - `-c` to indicate cli-only opener
390   - `-f` to run filter as command on <kbd>^P</kbd>
391   - `-o` replaces config `NNN_RESTRICT_NAV_OPEN`
392   - `-t` replaces config `NNN_NO_AUTOSELECT`
393   - `-r` replaces config `NNN_OPS_PROG`
394 - plugin changes:
395   - `vidthumb` - show video thumbnails in terminal
396   - `mediainf` - show media info (decoupled as a plugin)
397   - `notes` - open a quick notes file/dir in `$EDITOR` (decoupled as a plugin)
398   - `dups` - list duplicate files in the current directory
399   - `oldbigfile` - list large files by access time
400   - `moclyrics` - show lyrics of the track currently playing in MOC
401   - `uidgid` list uid and gid of files in directory
402   - `mocplay` - now detects if a track is playing or not
403   - `organize` - categorize files and move to respective directories
404   - `pastebin` - now uses ix.io paste service
405   - `fzy-edit` - merged into `fzy-open`
406   - `viuimg` - fix directory view
407   - `checksum` - fixed POSIX compliance issues
408   - `boom` - play music in MOC
409 - keybind changes:
410   - select entry: <kbd>Space</kbd> and <kbd>^J</kbd>
411   - select range (or clear selection): <kbd>m</kbd> and <kbd>^K</kbd>
412   - select all in dir: <kbd>a</kbd>
413   - list selection: <kbd>M</kbd>
414   - <kbd>^N</kbd> replaces <kbd>^T</kbd> to toggle _nav-as-you-type_
415   - <kbd>Shift TAB</kbd> to reverse context cycle
416   - <kbd>'</kbd> to jump to first file in dir
417   - <kbd>S</kbd> for du, <kbd>A</kbd> for apparent du
418   - additional key <kbd>:</kbd> to run plugin
419   - additional key <kbd>F2</kbd> to rename file
420   - additional key <kbd>F5</kbd> to redraw
421   - quit context key <kbd>Leadq</kbd> is removed
422 - Leader key combinations:
423   - <kbd>Lead'</kbd> to jump to first file in dir
424   - <kbd>Lead]</kbd> go to next active context
425   - <kbd>Lead[</kbd> go to prev active context
426   - <kbd>Lead.</kbd> toggle show hidden files
427 - improved duplicate file workflow
428 - improved batch rename workflow when a selection exists
429 - removed the wild load option (`-w`)
430 - removed quick notes (added plugin `notes`)
431 - fix #225 (thanks @KlzXS)
432 - fix `tar`/`bsdtar` always creating tar archives (and not by suffix)
433 - fix single mouse click to select file not working
434 - fix symlink to dir removed on batch rename
435 - fix detail mode not set with program option `-S`
436
437 -------------------------------------------------------------------------------
438
439 nnn v2.6
440 2019-08-06
441
442 - new plugins
443    - view image or browse a directory of images in terminal
444    - show image thumbnails
445    - PDF and text file reader
446    - calculate and verify checksum of selection or file
447    - append (and play) selection/dir/file music in MOC
448    - variable bitrate mp3 ringtone generator
449    - split current file or join selection
450 - better experience on Termux (and touch based devices)
451    - mouse scrolling support (with ncursesw6.0 and above)
452    - tap/left click to visit parent, toggle nav-as-you-type mode
453 - light mode set as default
454 - show status bar and use reverse video in light mode
455 - changed program options
456   - `-d`: detail mode
457   - `-H`: show hidden files
458   - `-l` is retired
459 - support `XDG_CONFIG_HOME`
460 - support <kbd>/</kbd> as an additional Leader key when filter is on
461 - sort by file extension
462 - use zip/unzip/tar if atool/bsdtar not found
463 - support duplicate file (key <kbd>^R</kbd>, same as rename file)
464 - new config option `NNN_SSHFS_OPTS` to specify `sshfs` options
465 - restrict opening 0 byte files (`NNN_RESTRICT_0B` is obsolete)
466 - critical defects fixed
467    - fix #276 - crash with variable length inotify event handling
468    - fix #285 - hang after deleting/moving current directory
469    - fix #274 - a broken prompt on empty input with libreadline
470    - fix #304 - list selection from another instance
471 - `cmatrix` as locker fallback
472 - wait for user input after running a command from prompt
473 - scrolloff set to 3 from 5
474
475 -------------------------------------------------------------------------------
476
477 nnn v2.5
478 2019-05-27
479
480 - mouse support
481 - new location for config files - `~/.config/nnn`
482   - plugin dir location: `~/.config/nnn/plugins`
483   - selection file `.nnncp` is now `~/.config/nnn/.selection`
484 - plugins:
485   - pdfview: view a PDF in pager
486   - nmount: (un)mount a storage device
487   - ndiff: file and directory diff for selection
488   - hexview: view a file in hex
489   - imgresize: batch resize images to desktop resolution
490   - ipinfo: check your IP address and whois information
491   - transfer: upload a file to transfer.in
492   - pastebin: paste the contents of a text file to paste.ubuntu.com
493   - boom: play random music from a directory
494   - nwal: set an image as wallpaper using nitrogen
495   - pywal: set selected image as wallpaper, change terminal color scheme
496   - getplugs: update plugins
497 - SSHFS support
498 - support `bsdtar`, simplify `patool` integration
499 - native batch rename support (`vidir` dependency dropped)
500 - changes to support [configuration](https://github.com/jarun/nnn/wiki/nnn-as-default-file-manager) as the default file manager
501 - per-context detail/light mode
502 - case-insensitive version compare
503 - shortcut to visit `/` - <kbd>`</kbd> (backtick)
504 - vim-like scrolloff support
505 - <kbd>^D</kbd> & <kbd>^U</kbd>: scroll half page, <kbd>PgDn</kbd> & <kbd>PdUp</kbd>: scroll full page
506 - fix selection across contexts
507 - recognize <kbd>Home</kbd> and <kbd>End</kbd> keys at prompt for editing
508 - fix broken program option `-b`
509 - POSIX-compliant user-scripts (wherever possible)
510 - `NNN_SCRIPT` is retired (replaced by plugins)
511
512 -------------------------------------------------------------------------------
513
514 nnn v2.4
515 2019-03-19
516
517 - FreeDesktop.org compliant trashing
518 - mark selected entries with `+`
519 - _wild_ mode (option `-w`, key <kbd>^W</kbd>) for _nav-as-you-type_
520 - POSIX-compliant GUI app launcher with drop-down menu (key <kbd>=</kbd>)
521 - new scripts:
522   - upload image to imgur
523   - send selection to Android using kdeconnect-cli
524 - show permissions in detail mode
525 - cp, mv progress bar for Linux (needs advcpmv) [BSD, macOS shows on <kbd>^T</kbd>]
526 - make libreadline an optional dep (reduces memory usage)
527 - minimize the number of redraws
528 - handle screen resize gracefully
529 - option `-d` to show hidden files (`NNN_SHOW_HIDDEN` is removed)
530 - additional key <kbd>K</kbd> to toggle selection
531 - change visit start dir key to <kbd>@</kbd>
532 - option `-C` to disable colors removed
533 - per-context initial directory replaced by program start dir
534 - marker msg when spawning new shell removed
535 - rename debug file to `nnndbg`
536
537 -------------------------------------------------------------------------------
538
539 nnn v2.3
540 2019-02-19
541
542 - file picker mode
543 - repo of user-contributed scripts
544 - substring search for filters (option `-s`)
545 - version sort (option `-n`)
546 - disk usage calculation abort with <kbd>^C</kbd>
547 - create sym/hard link(s) to files in selection
548 - archiving of selection
549 - show dir symlinks along with dirs in top
550 - fixed CJK character handling at prompts
551 - key `N` (1 <= N <= 4) to switch to context N
552 - bring back `NNN_OPENER` to specify file opener
553 - env var `NNN_NOTE` and keybind <kbd>^N</kbd> for quick notes
554 - handle multiple arguments in VISUAL/EDITOR
555 - show the current directory being scanned in `du` mode
556 - select all files (<kbd>Y</kbd>)
557 - show command prompt (<kbd>^P</kbd>)
558 - key <kbd>,</kbd> replaces <kbd>`</kbd> as alternative Leader Key
559 - keybind for visit pinned directory is now <kbd>^B</kbd>
560 - additional key <kbd>^V</kbd> to run or select custom script
561 - use libreadline for command prompt
562 - reduce delay on <kbd>Esc</kbd> press
563 - config option to avoid unexpected behaviour on 0-byte file open (see #187)
564 - rename config option `DISABLE_FILE_OPEN_ON_NAV` to `NNN_RESTRICT_NAV_OPEN`
565 - keys removed - <kbd>$</kbd>, <kbd>^</kbd>, <kbd>Backspace</kbd>, <kbd>^H</kbd>, <kbd>^P</kbd>, <kbd>^M</kbd>, <kbd>^W</kbd>, <kbd>`</kbd>
566
567 -------------------------------------------------------------------------------
568
569 nnn v2.2
570 2019-01-01
571
572 What's in?
573 - (neo)vim plugin [nnn.vim](https://github.com/mcchrish/nnn.vim)
574 - macOS fixes
575   - Fix issues with file copy, move, remove
576   - Handle <kbd>Del</kbd> in rename prompt
577   - Pass correct `file` option to identify mime
578 - Support selection across directories and contexts
579 - Offer option `force` before file remove
580 - Keys <kbd>Tab</kbd>, <kbd>^I</kbd> to go to next active context
581 - Per-context directory color specified by `$NNN_CONTEXT_COLORS`
582   - Option `-c` is removed
583 - Option `-C` to disable colors
584 - Choose script to run from a script directory
585 - Run a command (or launch an application)
586 - Run file as executable (key <kbd>C</kbd>)
587 - Documentation on lftp integration for remote file transfers
588 - Support a _combined_ set of arguments to `$EDITOR`, `$PAGER` and `$SHELL`
589 - Handle > 2 GB files on 32-bit ARM
590 - Env var `$DISABLE_FILE_OPEN_ON_NAV` to disable file open on <kbd>Right</kbd> or <kbd>l</kbd>
591 - `NUL`-terminated file paths in selection list instead of `LF`
592 - Better support for Termux and Cygwin environments
593 - Remapped keys
594   - <kbd>^I</kbd> - go to next active context
595   - <kbd>^T</kbd> - toggle _navigate-as-you-type_
596
597 -------------------------------------------------------------------------------
598
599 nnn v2.1
600 2018-11-23
601
602 What's in?
603 - Inclusion in several distros including Arch Linux official repo
604 - Multiple contexts (_aka_ tabs _aka_ workspaces) [max 4]
605 - Copy, move, remove selected files, remove current file
606 - [Leader key](https://github.com/jarun/nnn#leader-key) (like vim)
607 - In-built  GUI app launcher with up to 2 arguments (key <kbd>o</kbd>)
608 - List copy selection (key <kbd>y</kbd>)
609 - Env var `NNN_NO_AUTOSELECT` to disable dir auto-select
610 - Key <kbd>Esc</kbd> exits prompt, <kbd>^L</kbd> clears prompt
611 - Program runtime help revamped
612 - Static code analysis integration
613 - gcc-8 warnings fixed
614 - Remapped keys:
615   - <kbd>^W</kbd> - go to pinned dir
616   - <kbd>^X</kbd> - delete current entry
617   - <kbd>^Q</kbd> - quit program
618 - `nlay` is retired (functionality built into `nnn`)
619 - `chdir` prompt is retired
620 - Env var `NNN_NO_X` retired, selection now works out of the box
621 - Only single-char bookmark keys (to work with Leader key)
622
623 -------------------------------------------------------------------------------
624
625 nnn v2.0
626 2018-10-19
627
628 What's in?
629 - Mode to show apparent size (key `S`)
630 - Script to integrate `patool` instead of `atool`
631 - Support `bashlock` (OS X) and `lock` (BSD) as terminal locker
632 - Symbol `@/` for symlink to dir
633 - Dependency on `libreadline` removed
634
635 -------------------------------------------------------------------------------
636
637 nnn v1.9
638 2018-08-10
639
640 What's in?
641 - Support unlimited number of scripts
642 - Pass currently selected filename as first argument to custom scripts
643 - Support directory auto-select in _navigate-as-you-type_ mode
644 - Show selection name in archive name prompt
645 - Support Cygwin opener
646 - Better support on RHEL 25 with earlier version on curses
647 - Sample script for `fzy` integration
648 - Now available on OpenBSD
649 - Disabled package generation for Ubuntu 17.10
650
651 -------------------------------------------------------------------------------
652
653 nnn v1.8
654 2018-05-02
655
656 What's in?
657 - Run a custom script
658 - Archive selected file/directory
659 - Show number of cherry-picked files in multi-copy mode
660 - Env var `NNN_SHOW_HIDDEN` to show hidden files by default
661 - Additional information in help screen
662 - Give preference to env var VISUAL, if defined, over EDITOR
663 - New/changed/remapped shortcuts
664   - <kbd>^]</kbd> - spawn a new shell in current directory
665   - <kbd>r</kbd> - edit directory entries in vidir
666   - <kbd>R</kbd> - run a custom script
667   - <kbd>^I</kbd> - toggle navigate-as-you-type mode
668   - <kbd>L</kbd> - lock the current terminal (Linux-only)
669 - All Ctrl shortcuts enabled in navigate-as-you-type mode
670 - Fix: GUI programs closing when parent terminal is closed
671 - Recognize `~`, `-` and `&` at bookmark prompt
672 - Recognize ruby (.rb) files as text files
673 - Efficient integer-only file size calculation
674 - Official inclusion on openSUSE and Fedora
675 - Package generation for Ubuntu 18.04
676
677 -------------------------------------------------------------------------------
678
679 nnn v1.7
680 2018-02-28
681
682 What's in?
683 - Batch rename/move/delete files in vidir from [moreutils](https://joeyh.name/code/moreutils/)
684 - Copy multiple file paths
685 - Copy file paths when X is unavailable
686 - Optionally quote individual file paths with single quotes on copy
687 - Use ISO 8601 date format in file details
688 - New/changed/remapped shortcuts:
689   - <kbd>^B</kbd> - show bookmark prompt (replaces <kbd>b</kbd>)
690   - <kbd>b</kbd> - pin current dir (replaces <kbd>^B</kbd>)
691   - <kbd>^J</kbd> - toggle du mode
692   - <kbd>R</kbd> - batch rename files in vidir
693   - <kbd>^F</kbd> - extract archive (replaces <kbd>^X</kbd>)
694   - <kbd>^G</kbd> - quit nnn and change dir
695   - <kbd>^X</kbd> - quit nnn (replaces <kbd>^Q</kbd>)
696 - Extra shortcuts enabled in nav-as-you-type mode:
697   - <kbd>^K</kbd>, <kbd>^Y</kbd> (file path copy)
698   - <kbd>^T</kbd> (toggles quoted file path copy)
699   - <kbd>^R</kbd> (rename)
700   - <kbd>^O</kbd> (open with...)
701   - <kbd>^B</kbd> (show bookmark prompt)
702   - <kbd>^V</kbd> (visit pinned dir)
703   - <kbd>^J</kbd> (toggle du mode)
704   - <kbd>^/</kbd> (open desktop opener)
705   - <kbd>^F</kbd> (extract archive)
706   - <kbd>^L</kbd> (refresh)
707   - <kbd>^G</kbd> (quit nnn and change dir)
708   - <kbd>^X</kbd> (quit nnn)
709
710 -------------------------------------------------------------------------------
711
712 nnn v1.6
713 2017-12-25
714
715 What's in?
716 - Shortcut `^O` to open file with custom application
717 - Option `-b` to open bookmarks directly at start
718 - Huge performance improvements around file name storing and handling
719 - Several large static buffers removed or reduced
720 - Several internal algorithms fine tuned for performance/resource usage
721
722 -------------------------------------------------------------------------------
723
724 nnn v1.5
725 2017-10-05
726
727 What's in?
728 - File and directory creation (`n`)
729 - Env variable `NNN_NOWAIT` to unblock nnn when opening files (DE-specific)
730 - Show current entry number in status bar
731 - Support archive listing (`F`) and extraction (`Ctrl-X`) [using `atool`]
732 - Show correct file size on i386 for large files (> 2GB)
733
734 -------------------------------------------------------------------------------
735
736 nnn v1.4
737 2017-09-04
738
739 What's in?
740 - Monitor directory changes
741 - In-place file rename
742 - Pin (`Ctrl-B`) a directory and visit (`Ctrl-V`) it anytime
743 - Auto-completion scripts
744 - Show volume capacity and free in help
745 - Auto-fallback to light mode if too few columns (< 35)
746 - PackageCore integration
747 - Unsupported Function keys (they never work universally):
748   - `F2` (rename), use `Ctrl-R`
749   - `F5` (refresh), use `Ctrl-L`
750
751 -------------------------------------------------------------------------------
752
753 nnn v1.3
754 2017-07-26
755
756 What's in?
757 - Show directories in custom color (default: enabled in blue)
758 - Option `-e` to use exiftool instead of mediainfo
759 - Fixed #34: nftw(3) broken with too many open descriptors
760 - More concise help screen
761
762 -------------------------------------------------------------------------------
763
764 nnn v1.2
765 2017-06-29
766
767 What's in?
768 - Use the desktop opener (xdg-open on Linux, open(1) on OS X) to open files
769 - Option `NNN_USE_EDITOR` to open text files in EDITOR (fallback vi)
770 - Bookmark support (maximum 10, key `b`)
771 - *Navigate-as-you-type* mode (key `Insert` or option `-i`)
772 - Subtree search: gnome-search-tool, fallback catfish (key `^/`) (customizable)
773 - Show current directory content size and file count in disk usage mode
774 - Add detail view mode as default, use `-l` to start in light mode
775 - Shortcuts `F2` and `^L` to refresh and unfilter
776   Note: if filter is empty, `Enter` *opens* the currently selected file now
777 - Help screen shows bookmarks and configuration
778 - Show a message when calculating disk usage
779 - Show the spawned shell level
780 - Linux only: use vlock as the locker on timeout (set using `NNN_IDLE_TIMEOUT`)
781
782 -------------------------------------------------------------------------------
783
784 nnn v1.1
785 2017-05-12
786
787 News
788 - Introducing nlay - a highly customizable bash script to handle media type
789 - nnn is on [Homebrew](http://braumeister.org/formula/nnn) now
790 - RPM packages for CentOS 7 and Fedora 24 generated on release
791
792 What's in?
793 - *Search-as-you-type*
794 - Unicode support
795 - Option `-S` to start in disk usage analyzer mode
796 - Show media information (using mediainfo)
797 - Use readline at change directory prompt
798 - Jump to prev directories using `cd .....` (with `.` as PWD)
799 - Jump to initial directory using `&`
800 - Show help, mediainfo and file info in PAGER
801 - Several optimizations
802
803 -------------------------------------------------------------------------------
804
805 nnn v1.0
806 2017-04-13
807
808 Modifications
809 - Behaviour and navigation
810   - Detail view (default: disabled) with:
811     - file type (directory, regular, symlink etc.)
812     - modification time
813     - human-readable file size
814     - current item in reverse video
815     - number of items in current directory
816     - full name of currently selected file in 'bar'
817   - Show details of the currently selected file (stat, file)
818   - Disk usage analyzer mode (within the same fs, doesn't follow symlinks)
819   - Directories first (even with sorting)
820   - Sort numeric names in numeric order
821   - Case-insensitive alphabetic content listing instead of upper case first
822   - Key `-` to jump to last visited directory
823   - Roll over at the first and last entries of a directory (with Up/Down keys)
824   - Removed navigation restriction with relative paths (and let permissions handle it)
825   - Sort entries by file size (largest to smallest)
826   - Shortcut to invoke file name copier (set using environment variable `NNN_COPIER`)
827 - File association
828   - Set `NNN_OPENER` to let a desktop opener handle it all. E.g.:
829         export NNN_OPENER=xdg-open
830         export NNN_OPENER=gnome-open
831         export NNN_OPENER=gvfs-open
832   - Selective file associations (ignored if `NNN_OPENER` is set):
833     - Associate plain text files (determined using file) with vi
834     - Associate common audio and video mimes with mpv
835     - Associate PDF files with [zathura](https://pwmt.org/projects/zathura/)
836     - Removed `less` as default file opener (there is no universal standalone opener utility)
837     - You can customize further (see [how to change file associations](#change-file-associations))
838   - `NNN_FALLBACK_OPENER` is the last line of defense:
839     - If the executable in static file association is missing
840     - If a file type was not handled in static file association
841     - This may be the best option to set your desktop opener to
842   - To enable the desktop file manager key, set `NNN_DE_FILE_MANAGER`. E.g.:
843         export NNN_DE_FILE_MANAGER=thunar
844 - Optimization
845   - All redundant buffer removal
846   - All frequently used local chunks now static
847   - Removed some redundant string allocation and manipulation
848   - Simplified some roundabout procedures
849   - Compiler warnings fixed
850   - strip the final binary
851
852 -------------------------------------------------------------------------------