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