February 05, 2018
=================

vifm v0.9.1
-----------

This version adds to the list of ways for viewing files by introducing
miller columns view and transposed ls-like view (table view).  Other
developments are related to integration between builtin features as well as
with external applications.

Thanks to everyone who tried out the beta.

Main changes:
 - introduced file view mode known as miller columns or cascading lists;
 - added ability to transpose ls-like view to make it fill by columns;
 - more natural behaviour of movement keys in ls-like view;
 - new `--remote-expr` command-line option can be used to query state of
   running instances;
 - extended retry/ignore/abort query to all file operations;
 - more control over highlight groups via `:highlight` suitable for
   interactive changes;
 - mostly eliminated the need for repeating ga/gA commands through automatic
   size recalculation.

More detailed list of changes.

File operations:
 - added retry/ignore/abort prompt for file copying and directory/file/symlink
   creation when 'syscalls' is on (thanks to einhander);
 - better detection of write errors on file copying.  The error was reported,
   but it wasn't treated as a hard error in a specific case related to caching.

Command-line mode:
 - added :histnext/:histprev commands, which are analogous to Ctrl-I/Ctrl-O
   (patch by Dmitry Frank, a.k.a. dimonomid);
 - added ability to remove filename-specific highlighting rules with
   `:highlight clear {pattern}` (thanks to aleksejrs);
 - changed :filter command to accept pattern (//, ////, {} or {{}}) (thanks to
   rbong);
 - made :siblnext and :siblprev commands respect dot and name filters;
 - made :siblnext and :siblprev accept [count] range (thanks to filterfalse);
 - made :tree pick up list of files from custom view (thanks to filterfalse);
 - made :highlight update file-specific group on exact match of the pattern
   instead of appending new rule (thanks to aleksejrs);
 - remove empty directories which are specified in 'trashdir' with %r and/or %u
   automatically on :empty (thanks to Marcin Kurczewski, a.k.a. rr-).

:set command and options:
 - added "inode" sorting key, which sorts entries by inode number (thanks to
   eco0414);
 - added 'millerview' option that enables cascading columns interface for the
   view (thanks to sudo-nice);
 - added 'milleroptions' option that configures miller view;
 - added 'lsoptions' option that allows to get transposed grid in ls-like view
   (thanks to Dmitry Frank, a.k.a. dimonomid);
 - added 'previewprg' option, which can be used to override :fileviewer commands
   either temporarily or permanently (thanks to svenn71);
 - added {root} key to 'viewcolumns' option (complements {ext}) (thanks to Oleg
   Gordienko, a.k.a. gordio);
 - added "u" flag to the 'tuioptions' option.  It enables use of Unicode
   characters in the TUI (Unicode ellipsis instead of "...") (thanks to Oleg
   Gordienko, a.k.a. gordio);
 - added "foldsubkeys" value to the 'suggestoptions' option.  It folds multiple
   suggestions with common prefix into one entry (thanks to AndreaHasani).

Normal and visual modes:
 - added [r/]r/[R/]R normal mode shortcuts that map to :siblprev and :siblnext
   with and without wrapping correspondingly (thanks to filterfalse);
 - do not go to start of line on Ctrl-U/Ctrl-D/Ctrl-F/Ctrl-B/G in ls-like view;
 - H/M/L keys in ls-like view now account for columns;
 - instead of invalidating directory size previously calculated via ga/gA on
   detecting changes in the directory recalculate its size and propagate update
   through its parents (thanks to filterfalse).

Macros:
 - added %x macro to 'rulerformat' (and thus to 'statusline') as a new name for
   %-, which conflicts with alignment specification and requires explicit width
   specifier (%0-) (thanks to Marcos Cruz).

Scripting:
 - added term() builtin function, which differs from system() only by its
   ability to run interactive applications without confusing vifm's interactions
   with the terminal (thanks to Dmitry Frank, a.k.a. dimonomid);
 - added v:count and v:count1 builtin variables.  They are assigned to count
   passed to : command;
 - don't trigger DirEnter event with previous directory on startup when list of
   files is specified on stdin (thanks to filterfalse).

Invocation:
 - added `--remote-expr` command-line option, which gives ability to query state
   of an instance (thanks to Marcin Kurczewski, a.k.a. rr-).

Completion:
 - added completion of filename-specific highlight groups for :highlight
   command.

Color schemes:
 - added AuxWin highlight group for highlighting auxiliary parts of windows.

TUI (Text User Interface):
 - extend width of the cursor in ls-like view to the width of the cell (thanks
   to Dmitry Frank, a.k.a. dimonomid);
 - indicate preview created with %q with "Command: cmd";
 - duplicate status bar error in dialog that reports sourcing error.  Will need
   to get rid of errors on status bar later.

Performance:
 - improved performance of mime-type detection when using libmagic (now might be
   about seven times faster by avoiding reinitialization of the library);
 - don't force file list reload after `:!` and rely on change detection.  This
   should result in somewhat better performance (thanks to opennota).

Documentation:
 - documented more details about 'vicmd' and 'vixcmd' options (thanks to
   Sebastian Cyprych).

Vim-plugin:
 - disabled spell checking of vifm files in Vim except for comments.

Only on Windows:
 - fixed running commands with arguments on Windows when 'shell' isn't cmd.exe.

Important fixes:
 - fixed consuming 100% of CPU on certain pattern of running background
   processes (thanks to petRUShka);
 - fixed turning quickview into explore view when preview command doesn't
   contain macros.  Was broken since 0.8;
 - fixed the plugin in neovim (patch by John Shea, a.k.a. coachshea);
 - fixed cloning of files like `.name` to produce `.name(1)` instead of
   `(1).name` (thanks to filterfalse);
 - fixed directory size in statusline (patch by Dmitry Frank, a.k.a. dimonomid);
 - fixed CWD of the process not matching current view after vifm picked up
   change in file system (patch by Daniel Mueller);
 - fixed :normal command resetting selection (thanks to filterfalse);
 - fixed stopping of put operation after copying symbolic link that's broken on
   destination (thanks to filterfalse);
 - fixed a "race" with file system when we could load outdated file list and
   thus miss some file system updates.

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

January 22, 2018
================

vifm v0.9.1 beta
----------------

This version adds to the list of ways for viewing files by introducing
miller columns view and transposed ls-like view (table view).  Other
developments are related to integration between builtin features as well as
with external applications.

The beta stage will last about two weeks.  In case any serious bugs are found
during this period, another beta version might be released.

Main changes:
 - introduced file view mode known as miller columns or cascading lists;
 - added ability to transpose ls-like view to make it fill by columns;
 - more natural behaviour of movement keys in ls-like view;
 - new `--remote-expr` command-line option can be used to query state of
   running instances;
 - extended retry/ignore/abort query to all file operations;
 - more control over highlight groups via `:highlight` suitable for
   interactive changes;
 - mostly eliminated the need for repeating ga/gA commands through automatic
   size recalculation.

More detailed list of changes.

File operations:
 - added retry/ignore/abort prompt for file copying and directory/file/symlink
   creation when 'syscalls' is on (thanks to einhander);
 - better detection of write errors on file copying.  The error was reported,
   but it wasn't treated as a hard error in a specific case related to caching.

Command-line mode:
 - added :histnext/:histprev commands, which are analogous to Ctrl-I/Ctrl-O
   (patch by Dmitry Frank, a.k.a. dimonomid);
 - added ability to remove filename-specific highlighting rules with
   `:highlight clear {pattern}` (thanks to aleksejrs);
 - changed :filter command to accept pattern (//, ////, {} or {{}}) (thanks to
   rbong);
 - made :siblnext and :siblprev commands respect dot and name filters;
 - made :siblnext and :siblprev accept [count] range (thanks to filterfalse);
 - made :tree pick up list of files from custom view (thanks to filterfalse);
 - made :highlight update file-specific group on exact match of the pattern
   instead of appending new rule (thanks to aleksejrs);
 - remove empty directories which are specified in 'trashdir' with %r and/or %u
   automatically on :empty (thanks to Marcin Kurczewski, a.k.a. rr-).

:set command and options:
 - added "inode" sorting key, which sorts entries by inode number (thanks to
   eco0414);
 - added 'millerview' option that enables cascading columns interface for the
   view (thanks to sudo-nice);
 - added 'milleroptions' option that configures miller view;
 - added 'lsoptions' option that allows to get transposed grid in ls-like view
   (thanks to Dmitry Frank, a.k.a. dimonomid);
 - added 'previewprg' option, which can be used to override :fileviewer commands
   either temporarily or permanently (thanks to svenn71);
 - added {root} key to 'viewcolumns' option (complements {ext}) (thanks to Oleg
   Gordienko, a.k.a. gordio);
 - added "u" flag to the 'tuioptions' option.  It enables use of Unicode
   characters in the TUI (Unicode ellipsis instead of "...") (thanks to Oleg
   Gordienko, a.k.a. gordio);
 - added "foldsubkeys" value to the 'suggestoptions' option.  It folds multiple
   suggestions with common prefix into one entry (thanks to AndreaHasani).

Normal and visual modes:
 - added [r/]r/[R/]R normal mode shortcuts that map to :siblprev and :siblnext
   with and without wrapping correspondingly (thanks to filterfalse);
 - do not go to start of line on Ctrl-U/Ctrl-D/Ctrl-F/Ctrl-B/G in ls-like view;
 - H/M/L keys in ls-like view now account for columns;
 - instead of invalidating directory size previously calculated via ga/gA on
   detecting changes in the directory recalculate its size and propagate update
   through its parents (thanks to filterfalse).

Macros:
 - added %x macro to 'rulerformat' (and thus to 'statusline') as a new name for
   %-, which conflicts with alignment specification and requires explicit width
   specifier (%0-) (thanks to Marcos Cruz).

Scripting:
 - added term() builtin function, which differs from system() only by its
   ability to run interactive applications without confusing vifm's interactions
   with the terminal (thanks to Dmitry Frank, a.k.a. dimonomid);
 - added v:count and v:count1 builtin variables.  They are assigned to count
   passed to : command;
 - don't trigger DirEnter event with previous directory on startup when list of
   files is specified on stdin (thanks to filterfalse).

Invocation:
 - added `--remote-expr` command-line option, which gives ability to query state
   of an instance (thanks to Marcin Kurczewski, a.k.a. rr-).

Completion:
 - added completion of filename-specific highlight groups for :highlight
   command.

Color schemes:
 - added AuxWin highlight group for highlighting auxiliary parts of windows.

TUI (Text User Interface):
 - extend width of the cursor in ls-like view to the width of the cell (thanks
   to Dmitry Frank, a.k.a. dimonomid);
 - indicate preview created with %q with "Command: cmd";
 - duplicate status bar error in dialog that reports sourcing error.  Will need
   to get rid of errors on status bar later.

Performance:
 - improved performance of mime-type detection when using libmagic (now might be
   about seven times faster by avoiding reinitialization of the library);
 - don't force file list reload after `:!` and rely on change detection.  This
   should result in somewhat better performance (thanks to opennota).

Documentation:
 - documented more details about 'vicmd' and 'vixcmd' options (thanks to
   Sebastian Cyprych).

Vim-plugin:
 - disabled spell checking of vifm files in Vim except for comments.

Only on Windows:
 - fixed running commands with arguments on Windows when 'shell' isn't cmd.exe.

Important fixes:
 - fixed consuming 100% of CPU on certain pattern of running background
   processes (thanks to petRUShka);
 - fixed turning quickview into explore view when preview command doesn't
   contain macros.  Was broken since 0.8;
 - fixed the plugin in neovim (patch by John Shea, a.k.a. coachshea);
 - fixed cloning of files like `.name` to produce `.name(1)` instead of
   `(1).name` (thanks to filterfalse);
 - fixed directory size in statusline (patch by Dmitry Frank, a.k.a. dimonomid);
 - fixed CWD of the process not matching current view after vifm picked up
   change in file system (patch by Daniel Mueller);
 - fixed :normal command resetting selection (thanks to filterfalse);
 - fixed stopping of put operation after copying symbolic link that's broken on
   destination (thanks to filterfalse);
 - fixed a "race" with file system when we could load outdated file list and
   thus miss some file system updates.

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

June 18, 2017
=============

vifm v0.9
---------

New version brings two new ways of viewing and processing file lists, namely
tree-view and directory-comparison.  As usual, previously existing facilities
were extended and improved to become more useful.

Thanks to everyone who tried out the beta, especially filterfalse.

Main changes:
 - introduced tree-like representation of files;
 - added directory comparison facilities;
 - added ability to restore last navigation menu;
 - background operations and programs can now be cancelled;
 - dismissed error output of external programs can now be queried;
 - added shell completion for bash and zsh;
 - now it's possible to configure mappings in dialogs.

More detailed list of changes.

Packaging:
 - Removed -Werror in tests from non-developer builds.

Command-line mode:
 - added :tree command that converts current view into a tree (thanks to
   filterfalse and Kornel);
 - added :dmap, :dnoremap and :dunmap commands to configure mappings in dialogs
   (thanks to Sassan Haradji, a.k.a. sassanh);
 - added "tree" parameter to :sync! that enables synchronization of tree view
   (thanks to filterfalse);
 - added :compare command to perform comparison in one or two directory trees
   (thanks to anonymous on SourceForge discussion forum and aleksejrs);
 - added :copen command to restore last menu that supports navigation (thanks to
   Sassan Haradji, a.k.a. sassanh);
 - added :screen! form that enables terminal multiplexers support (instead of
   toggling it as :screen does) (thanks to Marcos Cruz);
 - added :siblnext and :siblprev commands.  They change directory to next or
   previous sibling directories of current path (in global sorting order of
   current pane) (thanks to sudo-nice);
 - made :put, :touch and :mkdir accept [line] range, which can be used to
   specify target position in tree-view (thanks to filterfalse);
 - accept paths in :touch, not just file names (thanks to filterfalse);
 - disallow applying :chmod on ".." entry;
 - disallow selecting ".." entry with :select command;
 - expand macros in `:[un]select !{command}` (thanks to Michael Corvin).


Macros:
 - added %Iu and %IU macros, which are %u and %U equivalents, but work better if
   external command is interactive and changes terminal state;
 - added %q macro that redirects command output into quick view (thanks to
   svenn71).

:set command and options:
 - added 'dotfiles' (local) option, which exposes dot files filter as an option
   (thanks to filterfalse);
 - added 'caseoptions' option that enables more fine-grained control over case
   sensitivity (thanks to Alexandru Geana, a.k.a. alegen);
 - added 'sizefmt' option that configures formatting of human-friendly size
   (thanks to sudo-nice);
 - added %f 'statusline' macro that inserts relative path of the entry, which
   might be useful for non-regular views (thanks to filterfalse);
 - added %D 'statusline' macro that displays path of the other pane in
   single-pane layout (thanks to sudo-nice);
 - added %T 'statusline' macro that displays symbolic link target (thanks to
   sudo-nice);
 - added %a 'statusline' macro that displays amount of free space available at
   current partition (thanks to sudo-nice);
 - consider trailing slash for directories or symbolic links that point to
   directories in 'classify' patterns by file name (e.g., this works now:
   `[::*/::]`);
 - better handling of setting 'fillchars' to incorrect or excessive value.

Normal and visual modes:
 - added [d and ]d shortcuts to navigate to previous/next directory entry
   (thanks to filterfalse);
 - added [s and ]s shortcuts to navigate to previous/next selected entry
   (thanks to filterfalse);
 - added [z and ]z shortcuts to navigate to first/last sibling in a tree
   (thanks to filterfalse);
 - added zj and zk shortcuts to navigate to next/previous directory sibling in a
   tree (thanks to filterfalse);
 - added [c and ]c shortcuts to navigate to previous/next mismatch in directory
   comparison view (thanks to filterfalse);
 - added do and dp keys to compare views for applying changes in files (thanks
   to filterfalse).

Menus and dialogs:
 - added dd key to :jobs menu, which requests cancellation of background
   operation.  Background :put, :copy, :move, :delete, size calculation with ga
   and gA as well as applications started in background can be cancelled this
   way (thanks to blurm);
 - added e key to :jobs menu that displays list of errors issues by that jobs,
   if any.  h key goes back to :jobs menu;
 - added % key to menu mode, which navigates to [count]-th percent of the list;
 - added meaning to [count] of cp shortcut, which is now processed as numerical
   argument for non-recursive `chmod` command (thanks to sudo-nice);
 - partially return progress report for menus.  Was disabled by introduction of
   null byte heuristic.

File operations:
 - enable restoring files from trash from custom views;
 - disallow moving/copying/linking files into custom view (put is forbidden, so
   makes sense to forbid these too);
 - try harder to move files by not giving up on getting permission error, which
   isn't always a reliable indication of actual permission error.  Only when
   'syscalls' is on (thanks to Marcin Kurczewski, a.k.a. rr-).

File preview:
 - view current directory on ".." for quickview/view mode if no viewer matches
   such entry (thanks to filterfalse);
 - enable cancellation of tree preview construction (thanks to filterfalse);
 - do not resolve symbolic links in directory preview (thanks to filterfalse).

Security:
 - make temporary rename files accessible only by the user (thanks to
   aleksejrs).

Performance:
 - improve performance of startup and exit by omitting file existence checks.
   The cost is possibly old files staying in the state, but it should be for
   long time (thanks to Marcin Kurczewski, a.k.a. rr-);
 - improved sorting performance in the presence of huge amount of symbolic links
   (thanks to Marcin Kurczewski, a.k.a. rr-).

Invocation:
 - don't disable preview on `--remote --select` if it doesn't hide updated pane
   (thanks to Marcin Kurczewski, a.k.a. rr-);
 - make +{num} and similar options work (actually affect cursor of the view)
   (thanks to filterfalse);
 - treat "+" option the same way as Vim (like :$) (thanks to filterfalse).

Scripting:
 - added v:servername variable, which provides access to server name of the
   running instance used by --remote feature (thanks to Marcin Kurczewski,
   a.k.a. rr-);
 - getpanetype() got new value ("tree") to indicate tree-view (thanks to
   filterfalse).

TUI (Text User Interface):
 - limited maximum height of message popup, just print how many lines we're
   skipping;
 - put hardware cursor according to current mode and cursor within it (thanks to
   Tyler Spivey);
 - display path to the conflicting file in conflict resolution dialog;
 - provide better messages on i/o errors with 'syscalls' (thanks to Behrooz).

File filtering:
 - don't move cursor off "../" before start of local filtering (thanks to
   filterfalse);
 - prevent clearing filters on zM if there were no zO preceding it (thanks to
   sudo-nice).

Color schemes:
 - added CmpMismatch highlight group for highlighting mismatched files on
   side-by-side comparison.

Integration:
 - added completion scripts for bash and zsh (patches by filterfalse);
 - escape first tilde in paths that go to the shell (thanks to Marius Schmidl);
 - resolve symbolic link for listing associated programs from desktop-files
   (thanks to filterfalse).

Vim-plugin:
 - work around :drop command being disabled in the plugin (thanks to Phil
   Runninger);
 - fixed inconsistent behaviour of :EditVifm in plugin with regard to
   "[No Name]" buffer (thanks to Phil Runninger);
 - fixed plugin in versions of Vim where :argadd without argument doesn't work
   (thanks to eco0414).

Only on Windows:
 - use <exe file location>/data/colors as global storage of color schemes on
   Windows (thanks to r44083);
 - handle terminal resize on Windows 10 (thanks to randomizedthinking);
 - properly recover from invalid/strange UNC root on Windows.  Don't end up with
   empty filelist;
 - fixed use of non-latin characters in environment variables and command-line
   options (thanks to khaoos-abominable).

Important fixes:
 - fixed redirecting stdout of background commands to /dev/null, which could be
   unwritable descriptor (thanks to c02y);
 - fixed possible data loss on moving/copying files over their own parent or
   child directories via p, P, :move, :copy, :alink and :rlink (thanks to Marius
   Schmidl);
 - fixed detection of too-small-terminal state;
 - fixed treating characters like š and ć (with low Unicode values, just above
   0x100) as functional keys on input (thanks to granderil).

Other changes:
 - changed size formatting to round from zero (matches behaviour of e.g. `ls`);
 - read error output of background commands independently of main thread
   (prevents blocking of tools which produce huge amount of output) (thanks to
   Stas Malavin);
 - no vifminfo merging if file change isn't detected.  Might result in faster
   quitting in some cases.  Not accounting for some changes is still possible
   when multiple instances quit simultaneously, but same could happen without
   this change;
 - made search consider trailing slash for directories and symbolic links that
   point to directories (thanks to filterfalse);
 - don't use :filextype in sample vifmrc for OS X, we can't tell whether
   graphical system is running (thanks to piotryordanov).

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

June 04, 2017
=============

vifm v0.9 beta
--------------

New version brings two new ways of viewing and processing file lists, namely
tree-view and directory-comparison.  As usual, previously existing facilities
were extended and improved to become more useful.

The beta stage will last about two weeks.  In case any serious bugs are found
during this period, another beta version might be released.

Main changes:
 - introduced tree-like representation of files;
 - added directory comparison facilities;
 - added ability to restore last navigation menu;
 - background operations and programs can now be cancelled;
 - dismissed error output of external programs can now be queried;
 - added shell completion for bash and zsh;
 - now it's possible to configure mappings in dialogs.

More detailed list of changes.

Packaging:
 - Removed -Werror in tests from non-developer builds.

Command-line mode:
 - added :tree command that converts current view into a tree (thanks to
   filterfalse and Kornel);
 - added :dmap, :dnoremap and :dunmap commands to configure mappings in dialogs
   (thanks to Sassan Haradji, a.k.a. sassanh);
 - added "tree" parameter to :sync! that enables synchronization of tree view
   (thanks to filterfalse);
 - added :compare command to perform comparison in one or two directory trees
   (thanks to anonymous on SourceForge discussion forum and aleksejrs);
 - added :copen command to restore last menu that supports navigation (thanks to
   Sassan Haradji, a.k.a. sassanh);
 - added :screen! form that enables terminal multiplexers support (instead of
   toggling it as :screen does) (thanks to Marcos Cruz);
 - added :siblnext and :siblprev commands.  They change directory to next or
   previous sibling directories of current path (in global sorting order of
   current pane) (thanks to sudo-nice);
 - made :put, :touch and :mkdir accept [line] range, which can be used to
   specify target position in tree-view (thanks to filterfalse);
 - accept paths in :touch, not just file names (thanks to filterfalse);
 - disallow applying :chmod on ".." entry;
 - disallow selecting ".." entry with :select command.

Macros:
 - added %Iu and %IU macros, which are %u and %U equivalents, but work better if
   external command is interactive and changes terminal state;
 - added %q macro that redirects command output into quick view (thanks to
   svenn71).

:set command and options:
 - added 'dotfiles' (local) option, which exposes dot files filter as an option
   (thanks to filterfalse);
 - added 'caseoptions' option that enables more fine-grained control over case
   sensitivity (thanks to Alexandru Geana, a.k.a. alegen);
 - added 'sizefmt' option that configures formatting of human-friendly size
   (thanks to sudo-nice);
 - added %f 'statusline' macro that inserts relative path of the entry, which
   might be useful for non-regular views (thanks to filterfalse);
 - added %D 'statusline' macro that displays path of the other pane in
   single-pane layout (thanks to sudo-nice);
 - added %T 'statusline' macro that displays symbolic link target (thanks to
   sudo-nice);
 - added %a 'statusline' macro that displays amount of free space available at
   current partition (thanks to sudo-nice);
 - consider trailing slash for directories or symbolic links that point to
   directories in 'classify' patterns by file name (e.g., this works now:
   `[::*/::]`);
 - better handling of setting 'fillchars' to incorrect or excessive value.

Normal and visual modes:
 - added [d and ]d shortcuts to navigate to previous/next directory entry
   (thanks to filterfalse);
 - added [s and ]s shortcuts to navigate to previous/next selected entry
   (thanks to filterfalse);
 - added [z and ]z shortcuts to navigate to first/last sibling in a tree
   (thanks to filterfalse);
 - added zj and zk shortcuts to navigate to next/previous directory sibling in a
   tree (thanks to filterfalse);
 - added [c and ]c shortcuts to navigate to previous/next mismatch in directory
   comparison view (thanks to filterfalse);
 - added do and dp keys to compare views for applying changes in files (thanks
   to filterfalse).

Menus and dialogs:
 - added dd key to :jobs menu, which requests cancellation of background
   operation.  Background :put, :copy, :move, :delete, size calculation with ga
   and gA as well as applications started in background can be cancelled this
   way (thanks to blurm);
 - added e key to :jobs menu that displays list of errors issues by that jobs,
   if any.  h key goes back to :jobs menu;
 - added % key to menu mode, which navigates to [count]-th percent of the list;
 - added meaning to [count] of cp shortcut, which is now processed as numerical
   argument for non-recursive `chmod` command (thanks to sudo-nice);
 - partially return progress report for menus.  Was disabled by introduction of
   null byte heuristic.

File operations:
 - enable restoring files from trash from custom views;
 - disallow moving/copying/linking files into custom view (put is forbidden, so
   makes sense to forbid these too);
 - try harder to move files by not giving up on getting permission error, which
   isn't always a reliable indication of actual permission error.  Only when
   'syscalls' is on (thanks to Marcin Kurczewski, a.k.a. rr-).

File preview:
 - view current directory on ".." for quickview/view mode (thanks to
   filterfalse);
 - enable cancellation of tree preview construction (thanks to filterfalse);
 - do not resolve symbolic links in directory preview (thanks to filterfalse).

Security:
 - make temporary rename files accessible only by the user (thanks to
   aleksejrs).

Performance:
 - improve performance of startup and exit by omitting file existence checks.
   The cost is possibly old files staying in the state, but it should be for
   long time (thanks to Marcin Kurczewski, a.k.a. rr-);
 - improved sorting performance in the presence of huge amount of symbolic links
   (thanks to Marcin Kurczewski, a.k.a. rr-).

Invocation:
 - don't disable preview on `--remote --select` if it doesn't hide updated pane
   (thanks to Marcin Kurczewski, a.k.a. rr-);
 - make +{num} and similar options work (actually affect cursor of the view)
   (thanks to filterfalse);
 - treat "+" option the same way as Vim (like :$) (thanks to filterfalse).

Scripting:
 - added v:servername variable, which provides access to server name of the
   running instance used by --remote feature (thanks to Marcin Kurczewski,
   a.k.a. rr-);
 - getpanetype() got new value ("tree") to indicate tree-view (thanks to
   filterfalse).

TUI (Text User Interface):
 - limited maximum height of message popup, just print how many lines we're
   skipping;
 - put hardware cursor according to current mode and cursor within it (thanks to
   Tyler Spivey);
 - display path to the conflicting file in conflict resolution dialog;
 - provide better messages on i/o errors with 'syscalls' (thanks to Behrooz).

File filtering:
 - don't move cursor off "../" before start of local filtering (thanks to
   filterfalse);
 - prevent clearing filters on zM if there were no zO preceding it (thanks to
   sudo-nice).

Color schemes:
 - added CmpMismatch highlight group for highlighting mismatched files on
   side-by-side comparison.

Integration:
 - added completion scripts for bash and zsh (patches by filterfalse);
 - escape first tilde in paths that go to the shell (thanks to Marius Schmidl);
 - resolve symbolic link for listing associated programs from desktop-files
   (thanks to filterfalse).

Vim-plugin:
 - work around :drop command being disabled in the plugin (thanks to Phil
   Runninger);
 - fixed inconsistent behaviour of :EditVifm in plugin with regard to
   "[No Name]" buffer (thanks to Phil Runninger);
 - fixed plugin in versions of Vim where :argadd without argument doesn't work
   (thanks to eco0414).

Only on Windows:
 - use <exe file location>/data/colors as global storage of color schemes on
   Windows (thanks to r44083);
 - handle terminal resize on Windows 10 (thanks to randomizedthinking);
 - properly recover from invalid/strange UNC root on Windows.  Don't end up with
   empty filelist;
 - fixed use of non-latin characters in environment variables and command-line
   options (thanks to khaoos-abominable).

Important fixes:
 - fixed redirecting stdout of background commands to /dev/null, which could be
   unwritable descriptor (thanks to c02y);
 - fixed possible data loss on moving/copying files over their own parent or
   child directories via p, P, :move, :copy, :alink and :rlink (thanks to Marius
   Schmidl);
 - fixed detection of too-small-terminal state;
 - fixed treating characters like š and ć (with low Unicode values, just above
   0x100) as functional keys on input (thanks to granderil).

Other changes:
 - changed size formatting to round from zero (matches behaviour of e.g. `ls`);
 - read error output of background commands independently of main thread
   (prevents blocking of tools which produce huge amount of output) (thanks to
   Stas Malavin);
 - no vifminfo merging if file change isn't detected.  Might result in faster
   quitting in some cases.  Not accounting for some changes is still possible
   when multiple instances quit simultaneously, but same could happen without
   this change;
 - made search consider trailing slash for directories and symbolic links that
   point to directories (thanks to filterfalse).

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

July 16, 2016
=============

vifm v0.8.2
-----------

This release brings a bit of user-friendliness in form of key suggestions and
various descriptions provided in the interface.  Matching of files has been
extended in many ways and become significantly more powerful than before.
Menu mode also got several enhancements.

Thanks to everyone who found time to try the beta.

Main changes:
 - key suggestions in the interface on ambiguous input (e.g. "g");
 - helpful shortcuts for dialogs (for sort dialog in particular);
 - key descriptions in :map menus and %z macro for 'statusline' to display some
   tips;
 - description of all :commands, 'options' and their values for new multiline
   version of wildmenu;
 - ANDing, ORing and negating patterns for matching files and new mime-type
   matcher;
 - file prefixes and suffixes can now be multi-byte, which with extended
   'classify' option allows specifying "icons" via custom fonts;
 - search result highlighting, enabled completion and a way to export the list
   for menus;
 - an indication of pattern correctness and match state for interactive prompts.
 - :select and :unselect commands to perform automatic file selection (possibly
   by using output of external application);
 - cancellation (handling of Ctrl-C) for quick view and view mode loading.

Not sure if it was noticed, but HTTPS protocol is up for related sites since
Let's Encrypt started their beta.  Everything works fine, so all the links were
updated to https protocol.

If you ever wondered which keys are builtin for the command (normal) mode of
Vifm, this cheatsheet will show you: https://next.vifm.info/cheatsheets.shtml

In case you're into using neovim, you might be interesting into checking out
alternative Vifm plugin for it: https://github.com/vifm/neovim-vifm

More detailed list of changes.

Core:
 - added heuristic that uses null byte as separator for file lists if there is
   at least one such byte, otherwise normal line separators are used.  This
   affects :[un]select, `vifm -`, %u, %U, %m and %M (thanks to filterfalse);
 - changed order of initialization to perform autocommands before startup
   commands on launch.

Normal and visual modes:
 - changed ga/gA effect on parent entry (..) to calculate size of current
   directory (thanks to aleksejrs).

:set command and options:
 - added 'wildstyle' option to control the way wild menu is displayed.  Enables
   displaying it as a menu with one item per line (thanks to santhoshr and
   octos);
 - added 'suggestoptions' option to control displaying of suggestions;
 - added support of patterns to 'classify' option, so that files can now be
   decorated based on their names (thanks to elricbk);
 - added 'cvoptions' option to control when entering/leaving custom views is
   considered to be equal to entering/leaving directories (thanks to
   filterfalse);
 - added "target" sorting key, which sorts files by symbolic link targets
   (thanks to Marcos Cruz);
 - added %z 'statusline' macro that inserts text of a short tip picked at random
   (thanks to qinghao, a.k.a. haobug);
 - changed type of 'confirm' option.  Now it's a set that picks which operations
   should be confirmed (thanks to Losiara and mvucBmM0);
 - allow suffixes and prefixes in 'classify' to be of up to eight characters in
   length (thanks to elricbk).

Command-line mode:
 - added "filelist" parameter to :sync! that enables synchronization of custom
   view (thanks to filterfalse);
 - added :select and :unselect commands (thanks to filterfalse, Russell Urquhart
   and Marcos Cruz);
 - added negation to patterns with explicitly specified type (surrounded by {}
   or //).  Put exclamation mark to invert pattern match (thanks to Marcos
   Cruz);
 - added mime type patterns ([!]<list-of-globs>) (thanks to Ross Hadden, a.k.a.
   rosshadden);
 - added pattern ANDing.  Just list decorated patterns one after another and
   such composite pattern will much when each of them matches (thanks to
   filterfalse);
 - added pattern ORing for :file[x]type and :fileviewer commands implemented as
   a comma-separated list (thanks to filterfalse);
 - expand environment variables for :edit (thanks to filterfalse);
 - don't print just table header on `:cabbr something`, print message that no
   matches found instead;
 - use original (before custom view) cursor position on :sync! in custom views
   (thanks to filterfalse).

File preview:
 - added cancellation (handling of Ctrl-C) for quick view and view mode loading
   (thanks to kalterfive);
 - skip UTF-8 BOM for file preview.

File list:
 - never add parent entry (..) to very custom view (%U) (thanks to filterfalse);
 - silently ignore tries to remove parent entry (..) (thanks to aleksejrs);
 - automatically update custom view entries on rename of their parent directory
   in the same custom view.

Completion:
 - added completion of :wincmd argument;
 - do not reset completion on terminal resize;
 - some corrections of when completion happens for :find and :grep.

Scripting:
 - added chooseopt() builtin function that retrieves various parameters of file
   choosing (thanks to Von Welch).

Menus and dialogs:
 - added highlighting of search matches in menus;
 - added :noh[lsearch] command to menu mode;
 - added quick shortcuts to dialogs (patch by oo-);
 - added description of builtin keys to :map menus;
 - added :write command to menus, that writes all menu lines into specified file
   (thanks to gtors);
 - a bit better delete confirmation messages with number of files to be deleted;
 - avoid displaying useless search messages about incorrect pattern during
   interactive search in menus (those that user can't see, but that are shown in
   :messages);
 - enabled wildmenu for menus.

TUI (Text User Interface):
 - added indication of wrong pattern and absence of matches to command-prompt
   for interactive search/filtering.

Angle bracket notation:
 - display <c-h> as <bs> only at the beginning of key sequence.

Color schemes:
 - added SuggestBox highlight group for key suggestion box.

Vim-plugin:
 - added support for matchit to filetype plugin (patch by filterfalse);
 - better terminal buffer title for plugin in neovim (thanks to
   randomizedthinking);
 - improved syntax highlighting of patterns.

Only on Windows:
 - fixed escaping for cmd.exe again, for :edit and external command invocations
   (thanks to Reva Revadigar);
 - fixed querying file information on 64-bit Windows (thanks to santhoshr);
 - fixed possible crash on displaying job bar (e.g. after :empty) (thanks to
   Reva Revadigar);
 - fixed UTF8 <-> UTF16 conversion, which didn't always work (on surrogate
   characters it seems) (thanks to Reva Revadigar);
 - fixed possible unexpectedly long timeouts when waiting for a key (due to
   limitation of pdcurses);
 - fixed displaying of wide (CJK) characters in pdcurses (thanks to Reva
   Revadigar);
 - fixed capturing output of external applications when 'shell' is "cmd".  Was
   broken since v0.8 in an attempt to make cmd work better with Unicode (but its
   /U flag affects only input and output streams).

Packaging:
 - fixed functioning on architectures on which `char` is unsigned by default
   (thanks to Ondrej Novy, a.k.a. onovy).

Important fixes:
 - fixed hanging on sudden terminal loss (regression) (thanks to aleksejrs);
 - fixed using original file names after a prompt for new destination name
   (thanks to rbong);
 - fixed unconditional resetting of executable permission when using cp dialog
   (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - fixed remote feature on cygwin (thanks to Cosmin Popescu, a.k.a.
   cosminadrianpopescu);
 - fixed epic bug in processing selectors followed by other commands in a
   mapping.  Command which accepted selector was called after tail of sequence
   is processed.  Such case isn't very likely, so it probably didn't affect
   anyone.

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

July 02, 2016
=============

vifm v0.8.2 beta testing has started
------------------------------------

This release brings a bit of user-friendliness in form of key suggestions and
various descriptions provided in the interface.  Matching of files has been
extended in many ways and become significantly more powerful than before.
Menu mode also got several enhancements.

Main changes:
 - key suggestions in the interface on ambiguous input (e.g. "g");
 - helpful shortcuts for dialogs (for sort dialog in particular);
 - key descriptions in :map menus and %z macro for 'statusline' to display some
   tips;
 - description of all :commands, 'options' and their values for new multiline
   version of wildmenu;
 - ANDing, ORing and negating patterns for matching files and new mime-type
   matcher;
 - file prefixes and suffixes can now be multi-byte, which with extended
   'classify' option allows specifying "icons" via custom fonts;
 - search result highlighting, enabled completion and a way to export the list
   for menus;
 - an indication of pattern correctness and match state for interactive prompts.
 - :select and :unselect commands to perform automatic file selection (possibly
   by using output of external application);
 - cancellation (handling of Ctrl-C) for quick view and view mode loading.

Not sure if it was noticed, but HTTPS protocol is up for related sites since
Let's Encrypt started their beta.  Everything works fine, so all the links were
updated to https protocol.

If you ever wondered which keys are builtin for the command (normal) mode of
Vifm, this cheatsheet will show you: https://next.vifm.info/cheatsheets.shtml

In case you're into using neovim, you might be interesting into checking out
alternative Vifm plugin for it: https://github.com/vifm/neovim-vifm

More detailed list of changes.

Core:
 - added heuristic that uses null byte as separator for file lists if there is
   at least one such byte, otherwise normal line separators are used.  This
   affects :[un]select, `vifm -`, %u, %U, %m and %M (thanks to filterfalse);
 - changed order of initialization to perform autocommands before startup
   commands on launch.

Normal and visual modes:
 - changed ga/gA effect on parent entry (..) to calculate size of current
   directory (thanks to aleksejrs).

:set command and options:
 - added 'wildstyle' option to control the way wild menu is displayed.  Enables
   displaying it as a menu with one item per line (thanks to santhoshr and
   octos);
 - added 'suggestoptions' option to control displaying of suggestions;
 - added support of patterns to 'classify' option, so that files can now be
   decorated based on their names (thanks to elricbk);
 - added 'cvoptions' option to control when entering/leaving custom views is
   considered to be equal to entering/leaving directories (thanks to
   filterfalse);
 - added "target" sorting key, which sorts files by symbolic link targets
   (thanks to Marcos Cruz);
 - added %z 'statusline' macro that inserts text of a short tip picked at random
   (thanks to qinghao, a.k.a. haobug);
 - changed type of 'confirm' option.  Now it's a set that picks which operations
   should be confirmed (thanks to Losiara and mvucBmM0);
 - allow suffixes and prefixes in 'classify' to be of up to eight characters in
   length (thanks to elricbk).

Command-line mode:
 - added "filelist" parameter to :sync! that enables synchronization of custom
   view (thanks to filterfalse);
 - added :select and :unselect commands (thanks to filterfalse, Russell Urquhart
   and Marcos Cruz);
 - added negation to patterns with explicitly specified type (surrounded by {}
   or //).  Put exclamation mark to invert pattern match (thanks to Marcos
   Cruz);
 - added mime type patterns ([!]<list-of-globs>) (thanks to Ross Hadden, a.k.a.
   rosshadden);
 - added pattern ANDing.  Just list decorated patterns one after another and
   such composite pattern will much when each of them matches (thanks to
   filterfalse);
 - added pattern ORing for :file[x]type and :fileviewer commands implemented as
   a comma-separated list (thanks to filterfalse);
 - expand environment variables for :edit (thanks to filterfalse);
 - don't print just table header on `:cabbr something`, print message that no
   matches found instead;
 - use original (before custom view) cursor position on :sync! in custom views
   (thanks to filterfalse).

File preview:
 - added cancellation (handling of Ctrl-C) for quick view and view mode loading
   (thanks to kalterfive);
 - skip UTF-8 BOM for file preview.

File list:
 - never add parent entry (..) to very custom view (%U) (thanks to filterfalse);
 - silently ignore tries to remove parent entry (..) (thanks to aleksejrs);
 - automatically update custom view entries on rename of their parent directory
   in the same custom view.

Completion:
 - added completion of :wincmd argument;
 - do not reset completion on terminal resize;
 - some corrections of when completion happens for :find and :grep.

Scripting:
 - added chooseopt() builtin function that retrieves various parameters of file
   choosing (thanks to Von Welch).

Menus and dialogs:
 - added highlighting of search matches in menus;
 - added :noh[lsearch] command to menu mode;
 - added quick shortcuts to dialogs (patch by oo-);
 - added description of builtin keys to :map menus;
 - added :write command to menus, that writes all menu lines into specified file
   (thanks to gtors);
 - a bit better delete confirmation messages with number of files to be deleted;
 - avoid displaying useless search messages about incorrect pattern during
   interactive search in menus (those that user can't see, but that are shown in
   :messages);
 - enabled wildmenu for menus.

TUI (Text User Interface):
 - added indication of wrong pattern and absence of matches to command-prompt
   for interactive search/filtering.

Angle bracket notation:
 - display <c-h> as <bs> only at the beginning of key sequence.

Color schemes:
 - added SuggestBox highlight group for key suggestion box.

Vim-plugin:
 - better terminal buffer title for plugin in neovim (thanks to
   randomizedthinking);
 - improved syntax highlighting of patterns.

Only on Windows:
 - fixed escaping for cmd.exe again, for :edit and external command invocations
   (thanks to Reva Revadigar);
 - fixed querying file information on 64-bit Windows (thanks to santhoshr);
 - fixed possible crash on displaying job bar (e.g. after :empty) (thanks to
   Reva Revadigar);
 - fixed UTF8 <-> UTF16 conversion, which didn't always work (on surrogate
   characters it seems) (thanks to Reva Revadigar);
 - fixed possible unexpectedly long timeouts when waiting for a key (due to
   limitation of pdcurses);
 - fixed displaying of wide (CJK) characters in pdcurses (thanks to Reva
   Revadigar);
 - fixed capturing output of external applications when 'shell' is "cmd".  Was
   broken since v0.8 in an attempt to make cmd work better with Unicode (but its
   /U flag affects only input and output streams).

Packaging:
 - fixed functioning on architectures on which `char` is unsigned by default
   (thanks to Ondrej Novy, a.k.a. onovy).

Important fixes:
 - fixed hanging on sudden terminal loss (regression) (thanks to aleksejrs);
 - fixed using original file names after a prompt for new destination name
   (thanks to rbong);
 - fixed unconditional resetting of executable permission when using cp dialog
   (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - fixed remote feature on cygwin (thanks to Cosmin Popescu, a.k.a.
   cosminadrianpopescu);
 - fixed epic bug in processing selectors followed by other commands in a
   mapping.  Command which accepted selector was called after tail of sequence
   is processed.  Such case isn't very likely, so it probably didn't affect
   anyone.

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

February 10, 2016
=================

vifm v0.8.1a
------------

This is a bugfix release to primarily address messed up single-executable
builds for Windows.  Tab completion doesn't work there and can cause crashes.
Also 64-bit build somehow contains 32-bit executables.  Thanks to Reva Revadigar
for reporting the issue.

On the bright side, this gives a chance for fixing bugs discovered after the
release.

There was also time to add some functional changes, which also made it into this
release:
 - added c key to menus that inserts parts of menu line into command-line
   (thanks to filterfalse);
 - added { and } keys to normal and visual modes.  They act similar to ( and),
   but always consider whether entry is a file or directory (thanks to octos);
 - added --disable-build-timestamp option to configure script to perform
   reproducible build (thanks to Hendrik Jaeger, a.k.a. henk);
 - apply local filter on picking element of `:history filter` menu;
 - handle register specified for gs normal mode command.  Select files listed
   in that register (thanks to filterfalse);
 - be consistent with regard to when local state is changed and do not reset
   neither local options nor local filter on entering/leaving custom view
   (thanks to filterfalse);
 - disallow adding duplicated filetype/fileviewer entries (just ignore them
   as they wouldn't be used due to order priority anyway).

Other notable fixes:
 - fixed storing filetypes in vifminfo, which could create duplicates (thanks to
   aleksejrs);
 - fixed --with-dyn-x11 configuration option, which failed to enable dynamic
   use of the library (thanks to Badalisc and Hendrik Jaeger, a.k.a. henk);
 - fixed using plugin in neovim, which has broken `system()` and :! commands
   (thanks to Artur Shaik, a.k.a. artur-shaik).

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

January 17, 2016
================

vifm v0.8.1
-----------

New minor version delivers primarily various small improvements of different
kinds.  There is also improvement of navigation via named bookmarks (or tags),
which can ease keeping track of what is where, and an ability to apply
settings to specific directories or sub-trees (via combination of autocommands
and local options).

Thanks to everyone who was reporting issues during beta period.

Main changes:
 - added local options, which work until directory change;
 - added named bookmarks (paths are associated with tags);
 - added autocommands (with DirEnter event);
 - added ability to sort by regexp-extracted part of file name;
 - added builtin directory preview (similar to `tree`);
 - added a way to communicate menu contents to Vim quickfix;
 - added "more" mode that is used to handle status bar content that doesn't fit
   on the screen;
 - IPC got new (safe) implementation with listing/targeting of active instances,
   it's enabled by default again;
 - updating local view settings from vifmrc now affects both panes (:windo is
   not necessary);
 - more predictive cursor updates on directory reload;
 - improvements related to expression and command parsing.

More detailed list of changes.

Command-line mode:
 - added :setl[ocal] and :setg[lobal] commands to manage values of local options
   that are specific to current directory and are reset on directory change,
   similar to local options of Vim;
 - added :pu[t] command that inserts files into current directory (thanks to
   mvucBmM0);
 - added :winc[md] command-line command (thanks to fogine);
 - added exclamation mark to :shell to suppress spawning new teminal multiplexer
   pane (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu).

:set command and options:
 - added :set foo+=bar syntax for string options (append value);
 - added 'deleteprg' option, which specifies program to run on files that are
   permanently removed;
 - added 'dirsize' option to control how size of directories is displayed in
   file views.  This enables one to see number of files in a directory rather
   than its size (thanks to Martin Fischer);
 - added optional %u and %U macros to 'findprg', 'grepprg', and 'locateprg' that
   allow immediate redirection of command output into custom view without
   opening a menu (thanks to filterfalse);
 - added 'iooptions' option to configure file system operations.  Contains only
   "fastfilecloning" for btrfs so far (thanks to aleksejrs);
 - added special treatment for "*" as value of 'slowfs', which might be useful
   in case of very slow handling of requests to mounts enumeration (patch by
   Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - added handling of "%u" in trash specification on *nix, which is replaced with
   real user ID (thanks to Regis);
 - allow 'shell' to specify a shell argument on *nix (thanks to loongw);
 - added 'sortgroups' option and "groups" sorting key, which allow sorting by
   parts of file names (thanks to aleksejrs);
 - added 'title' option to control whether title of terminal should be set.
   Enabled by default if old title can be restored (thanks to Svyatoslav Mishyn,
   a.k.a. juef);
 - make "p" in 'tuioptions' affect padding in quick view and view mode;
 - changed 'fusehome' default from temporary directory to data directory (that
   is $XDG_DATA_HOME/.local/share/fuse/ or $VIFM/fuse/ depending on which parent
   directory exists, the second one exists by definition, but first might not)
   (thanks to aleksejrs and to Hendrik Jaeger, a.k.a. henk);
 - changed default value of 'trashdir' on *nix again, this time to
   "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash".  This way it's safer for
   privacy, although using %r is not very safe in general (thanks to Regis).

Configuration:
 - make :set, :filter and :normal zo (and alike) in vifmrc affect all views,
   thus obsoleting use of :winrun or :windo for this purpose (they still work,
   the new way is a simpler and more obvious one).  This is related to commands
   executed during vifmrc processing (not those in the right-hand side of
   mappings, commands, etc.);
 - automatically create ~/.vifm/scripts containing small README file if the
   directory doesn't exist on startup (thanks to fogine).

Core:
 - added autocommands (DirEnter event and :au[tocmd] command) (thanks to
   filterfalse).

File operations:
 - added retry/ignore/abort prompt for file/directory removal when 'syscalls'
   is on (thanks to Robert Sarkozi);
 - make use of file cloning feature of btrfs when possible and enabled in
   'iooptions' (thanks to aleksejrs);
 - preserve file timestamps on copying files with 'syscalls' on (thanks to
   mvucBmM0);
 - employ inotify on GNU/Linux for more precise watching directories for
   changes;
 - copy timestamps and permissions on merging directories (thanks to willemw12).

Navigation:
 - added named bookmarks (paths are associated with tags).  This adds :bmark,
   :bmarks, :bmgo and :delbmarks command-line commands.  Also there is new
   "bmarks" value for 'vifminfo' (thanks to Schmalzhaf Stefan).

Normal and visual modes:
 - accept [count] for "h" and "gh";
 - added zr normal mode key to reset local filter (thanks to filterfalse);
 - ctrl-W | and Ctrl-W _ now can set window size to given count (thanks to
   filterfalse).

Key bindings:
 - remapping of builtin keys that are followed by selectors (e.g.
   `:nnoremap d y`) (thanks to mvucBmM0).

Color schemes:
 - changed default colorscheme to invert colors of the current line.

Documentation:
 - documented %= for 'statusline' and 'rulerformat';
 - make --select option more prominent in documentation (thanks to Svyatoslav
   Mishyn, a.k.a. juef);
 - documented difference between paths in menu with and without trailing slash
   (thanks to filterfalse).

Macros:
 - added %pc macro that splits preview command in two pices: preview command and
   clear command (thanks to Tomek K., a.k.a. TomiCode).

Menus and dialogs:
 - added B key to menus, which acts like b, but creates unsorted (very custom)
   view (thanks to filterfalse);
 - added "v" key to menu mode that loads current contents into quickfix list of
   editor (Vim compatible one is assumed) (thanks to filterfalse);
 - added handling of dd in :trashes, :trashes? and :lstrashes, which either
   deletes an item in trash or empties trash (thanks to Svyatoslav Mishyn,
   a.k.a. juef);
 - somewhat more informative error titles on issues during file operations;
 - provide conflict resolution options in a dialog rather than on the
   command-line, which is hard to read with so many options;
 - expand "~" in menus on navigation.

Packaging:
 - removed vifmrc-converter.  It's been around for four years and not needed any
   more (thanks to filterfalse);
 - removed contents of autoconf.sh, autoreconf covers what was there (there is a
   notice in that script now about it just in case) (thanks to Hendrik Jaeger,
   a.k.a. henk);
 - added --with-sanitize=basic|thread|leak option to configure script;
 - added missing script that's necessary for %s macro in GNU screen.  Was lost
   for a long time;
 - work around compilation on systems where MAX_ARG_STRLEN is defined, but
   unusable (thanks to Marcin Juszkiewicz, a.k.a. hrw, Michel Normand and
   Michael Vetter, a.k.a. jubalh);
 - put right-hand side of user-defined commands into separate scope of
   if-else-endif expressions.  This prevents affecting of regular input by
   malformed user-defined command.

Scripting:
 - added :elseif command (thanks to filterfalse);
 - added &option syntax for :let command;
 - added && and || operators to expression parser (thanks to filterfalse);
 - added getpanetype() builtin function that retrieves type of current pane
   (thanks to filterfalse);
 - added layoutis() builtin function that answers queries about current
   interface configuration (thanks to fogine);
 - added paneisat() builtin function that answers queries about current pane
   position (thanks to fogine);
 - added inline comments to allow less verbose commenting in configuration;
 - rewrote expression parser to prevent side-effects from occurring until syntax
   is checked.

TUI (Text User Interface):
 - added match numbers to search messages on status bar (patch by Cosmin
   Popescu, a.k.a. cosminadrianpopescu);
 - added dynamic view column alignment (specified by "*", just like "-" for left
   alignment) (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - added "more" mode that is used to handle status bar content that doesn't fit
   on the screen (thanks to Bruce Hunsaker, a.k.a. hunsakerbn, and Svyatoslav
   Mishyn, a.k.a. juef);
 - added builtin directory preview (thanks to Damian Ariel Perticone and
   Alexandre Viau);
 - added "fileext" sorting key, which sorts files by extensions and directories
   by name (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - added "nitems" sorting, which sorts by number of items in a directory (thanks
   to filterfalse);
 - added "nlinks" sorting key to display number of hard links to a file on *nix
   systems (thanks to filterfalse);
 - normalize surrounding spaces in menu and dialog titles;
 - lower minimum supported terminal width and height from 30x10 to 20x5;
 - update cursor position on file disappearing in more predictable way.  Use the
   closes file to the previously active one that still exists (thanks to
   ranousse);
 - display lower bound on item count in status bar progress messages (e.g. on
   :grep).

Important fixes:
 - assume UTF-8 sequences can be broken (thanks to Svyatoslav Mishyn, a.k.a.
   juef);
 - made setting title inside terminal multiplexers (when terminal type is
   "screen*") work;
 - check file system sensitivity on OS X (thanks to loongw);
 - fixed startup on Windows 10 (thanks to th1rdey3 and Robert Sarkozi);
 - fixed swapped absolute/relative link creation on :alink/:rlink commands
   (patch by MadMaverick9);
 - multiple fixes for custom views (thanks to filterfalse);
 - more careful treating of files with colons in their names for menus and
   custom views (thanks to aleksejrs);
 - fixed ranges for :yank, 0.8 regression (thanks to Marius Schmidl);
 - fixed crash on copy-like operations that move several files into subdirectory
   of another view (thanks to Marius Schmidl);
 - fixed creation of intermediate directories on merging directories (thanks to
   willemw12).

Vim-plugin:
 - added set of :*Vim commands to vifm run from Vim plugin, which overrule
   initial :*Vifm command behaviour (thanks to Ross Hadden, a.k.a. rosshadden);
 - changed plugin to do not depend on location of vifm.  g:vifm_home is ignored
   from now on (thanks to aleksejrs).

Only on Windows:
 - display directory size on Windows more correctly;
 - improvements in running commands with special characters and/or spaces
   (thanks to Stas Malavin).

Other changes:
 - added handling of "-" command-line argument specified in place of directory
   path as instruction to read list of files from stdin;
 - added --server-list and --server-name command-line options that enumerates
   names of currently running vifm servers and sets name of target/this instance
   respectively;
 - added optional argument for --logging parameter that specifies path to
   startup log (thanks to Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - invalidate directory size (calculated via ga/gA) if noticed that directory
   was changed.  This affects all parent directories as well, way easier to see
   what needs recalculation after file moving/removal;
 - warn about --remote command being disabled at build-time (thanks to
   Svyatoslav Mishyn, a.k.a. juef);
 - do not finish argument parsing after finding --help or --version, continue
   and validate the rest of command-line (thanks to Svyatoslav Mishyn, a.k.a.
   juef);
 - display incomplete file name on rename instead of failing with error on
   Unicode conversion issues.

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

January 02, 2016
================

vifm v0.8.1 beta testing has started
------------------------------------

New minor version delivers primarily various small improvements of different
kinds.  There is also improvement of navigation via named bookmarks (or tags),
which can ease keeping track of what is where, and an ability to apply
settings to specific directories or sub-trees (via combination of autocommands
and local options).

The beta stage will last about two weeks.  In case any serious bugs are found
during this period, another beta version might be released.

Main changes:
 - added local options, which work until directory change;
 - added named bookmarks (paths are associated with tags);
 - added autocommands (with DirEnter event);
 - added ability to sort by regexp-extracted part of file name;
 - added builtin directory preview (similar to `tree`);
 - added a way to communicate menu contents to Vim quickfix;
 - IPC got new (safe) implementation with listing/targeting of active instances,
   it's enabled by default again;
 - updating local view settings from vifmrc now affects both panes (:windo is
   not necessary);
 - more predictive cursor updates on directory reload;
 - improvements related to expression and command parsing.

More detailed list of changes.

Command-line mode:
 - added :setl[ocal] and :setg[lobal] commands to manage values of local options
   that are specific to current directory and are reset on directory change,
   similar to local options of Vim;
 - added :pu[t] command that inserts files into current directory (thanks to
   mvucBmM0);
 - added :winc[md] command-line command (thanks to fogine);
 - added exclamation mark to :shell to suppress spawning new teminal multiplexer
   pane (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu).

:set command and options:
 - added :set foo+=bar syntax for string options (append value);
 - added 'deleteprg' option, which specifies program to run on files that are
   permanently removed;
 - added 'dirsize' option to control how size of directories is displayed in
   file views.  This enables one to see number of files in a directory rather
   than its size (thanks to Martin Fischer);
 - added optional %u and %U macros to 'findprg', 'grepprg', and 'locateprg' that
   allow immediate redirection of command output into custom view without
   opening a menu (thanks to filterfalse);
 - added 'iooptions' option to configure file system operations.  Contains only
   "fastfilecloning" for btrfs so far (thanks to aleksejrs);
 - added special treatment for "*" as value of 'slowfs', which might be useful
   in case of very slow handling of requests to mounts enumeration (patch by
   Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - added handling of "%u" in trash specification on *nix, which is replaced with
   real user ID (thanks to Regis);
 - allow 'shell' to specify a shell argument on *nix (thanks to loongw);
 - added 'sortgroups' option and "groups" sorting key, which allow sorting by
   parts of file names (thanks to aleksejrs);
 - make "p" in 'tuioptions' affect padding in quick view and view mode;
 - changed 'fusehome' default from temporary directory to data directory (that
   is $XDG_DATA_HOME/.local/share/fuse/ or $VIFM/fuse/ depending on which parent
   directory exists, the second one exists by definition, but first might not)
   (thanks to aleksejrs and to Hendrik Jaeger, a.k.a. henk);
 - changed default value of 'trashdir' on *nix again, this time to
   "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash".  This way it's safer for
   privacy, although using %r is not very safe in general (thanks to Regis).

Configuration:
 - make :set, :filter and :normal zo (and alike) in vifmrc affect all views,
   thus obsoleting use of :winrun or :windo for this purpose (they still work,
   the new way is a simpler and more obvious one).  This is related to commands
   executed during vifmrc processing (not those in the right-hand side of
   mappings, commands, etc.);
 - automatically create ~/.vifm/scripts containing small README file if the
   directory doesn't exist on startup (thanks to fogine).

Core:
 - added autocommands (DirEnter event and :au[tocmd] command) (thanks to
   filterfalse).

File operations:
 - added retry/ignore/abort prompt for file/directory removal when 'syscalls'
   is on (thanks to Robert Sarkozi);
 - make use of file cloning feature of btrfs when possible and enabled in
   'iooptions' (thanks to aleksejrs);
 - preserve file timestamps on copying files with 'syscalls' on (thanks to
   mvucBmM0);
 - employ inotify on GNU/Linux for more precise watching directories for
   changes.

Navigation:
 - added named bookmarks (paths are associated with tags).  This adds :bmark,
   :bmarks, :bmgo and :delbmarks command-line commands.  Also there is new
   "bmarks" value for 'vifminfo' (thanks to Schmalzhaf Stefan).

Normal and visual modes:
 - accept [count] for "h" and "gh";
 - added zr normal mode key to reset local filter (thanks to filterfalse);
 - ctrl-W | and Ctrl-W _ now can set window size to given count (thanks to
   filterfalse).

Key bindings:
 - remapping of builtin keys that are followed by selectors (e.g.
   `:nnoremap d y`) (thanks to mvucBmM0).

Color schemes:
 - changed default colorscheme to invert colors of the current line.

Documentation:
 - documented %= for 'statusline' and 'rulerformat';
 - make --select option more prominent in documentation (thanks to Svyatoslav
   Mishyn, a.k.a. juef);
 - documented difference between paths in menu with and without trailing slash
   (thanks to filterfalse).

Macros:
 - added %pc macro that splits preview command in two pices: preview command and
   clear command (thanks to Tomek K., a.k.a. TomiCode).

Menus and dialogs:
 - added B key to menus, which acts like b, but creates unsorted (very custom)
   view (thanks to filterfalse);
 - added "v" key to menu mode that loads current contents into quickfix list of
   editor (Vim compatible one is assumed) (thanks to filterfalse);
 - added handling of dd in :trashes, :trashes? and :lstrashes, which either
   deletes an item in trash or empties trash (thanks to Svyatoslav Mishyn,
   a.k.a. juef);
 - somewhat more informative error titles on issues during file operations;
 - provide conflict resolution options in a dialog rather than on the
   command-line, which is hard to read with so many options;
 - expand "~" in menus on navigation.

Packaging:
 - removed vifmrc-converter.  It's been around for four years and not needed any
   more (thanks to filterfalse);
 - removed contents of autoconf.sh, autoreconf covers what was there (there is a
   notice in that script now about it just in case) (thanks to Hendrik Jaeger,
   a.k.a. henk);
 - added --with-sanitize=basic|thread|leak option to configure script;
 - added missing script that's necessary for %s macro in GNU screen.  Was lost
   for a long time;
 - work around compilation on systems where MAX_ARG_STRLEN is defined, but
   unusable (thanks to Marcin Juszkiewicz, a.k.a. hrw, Michel Normand and
   Michael Vetter, a.k.a. jubalh);
 - put right-hand side of user-defined commands into separate scope of
   if-else-endif expressions.  This prevents affecting of regular input by
   malformed user-defined command.

Scripting:
 - added :elseif command (thanks to filterfalse);
 - added &option syntax for :let command;
 - added && and || operators to expression parser (thanks to filterfalse);
 - added getpanetype() builtin function that retrieves type of current pane
   (thanks to filterfalse);
 - added layoutis() builtin function that answers queries about current
   interface configuration (thanks to fogine);
 - added paneisat() builtin function that answers queries about current pane
   position (thanks to fogine);
 - added inline comments to allow less verbose commenting in configuration;
 - rewrote expression parser to prevent side-effects from occurring until syntax
   is checked.

TUI (Text User Interface):
 - added match numbers to search messages on status bar (patch by Cosmin
   Popescu, a.k.a. cosminadrianpopescu);
 - added dynamic view column alignment (specified by "*", just like "-" for left
   alignment) (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - added "more" mode that is used to handle status bar content that doesn't fit
   on the screen (thanks to Bruce Hunsaker, a.k.a. hunsakerbn, and Svyatoslav
   Mishyn, a.k.a. juef);
 - added builtin directory preview (thanks to Damian Ariel Perticone and
   Alexandre Viau);
 - added "fileext" sorting key, which sorts files by extensions and directories
   by name (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - added "nitems" sorting, which sorts by number of items in a directory (thanks
   to filterfalse);
 - added "nlinks" sorting key to display number of hard links to a file on *nix
   systems (thanks to filterfalse);
 - normalize surrounding spaces in menu and dialog titles;
 - lower minimum supported terminal width and height from 30x10 to 20x5;
 - update cursor position on file disappearing in more predictable way.  Use the
   closes file to the previously active one that still exists (thanks to
   ranousse);
 - display lower bound on item count in status bar progress messages (e.g. on
   :grep).

Important fixes:
 - assume UTF-8 sequences can be broken (thanks to Svyatoslav Mishyn, a.k.a.
   juef);
 - made setting title inside terminal multiplexers (when terminal type is
   "screen*") work;
 - check file system sensitivity on OS X (thanks to loongw);
 - fixed startup on Windows 10 (thanks to th1rdey3 and Robert Sarkozi);
 - fixed swapped absolute/relative link creation on :alink/:rlink commands
   (patch by MadMaverick9);
 - multiple fixes for custom views (thanks to filterfalse);
 - more careful treating of files with colons in their names for menus and
   custom views (thanks to aleksejrs);
 - fixed ranges for :yank, 0.8 regression (thanks to Marius Schmidl);
 - fixed crash on copy-like operations that move several files into subdirectory
   of another view (thanks to Marius Schmidl);
 - fixed creation of intermediate directories on merging directories (thanks to
   willemw12).

Vim-plugin:
 - added set of :*Vim commands to vifm run from Vim plugin, which overrule
   initial :*Vifm command behaviour (thanks to Ross Hadden, a.k.a. rosshadden);
 - changed plugin to do not depend on location of vifm.  g:vifm_home is ignored
   from now on (thanks to aleksejrs).

Only on Windows:
 - display directory size on Windows more correctly;
 - improvements in running commands with special characters and/or spaces
   (thanks to Stas Malavin).

Other changes:
 - added handling of "-" command-line argument specified in place of directory
   path as instruction to read list of files from stdin;
 - added --server-list and --server-name command-line options that enumerates
   names of currently running vifm servers and sets name of target/this instance
   respectively;
 - added optional argument for --logging parameter that specifies path to
   startup log (thanks to Cosmin Popescu, a.k.a. cosminadrianpopescu);
 - invalidate directory size (calculated via ga/gA) if noticed that directory
   was changed.  This affects all parent directories as well, way easier to see
   what needs recalculation after file moving/removal;
 - warn about --remote command being disabled at build-time (thanks to
   Svyatoslav Mishyn, a.k.a. juef);
 - do not finish argument parsing after finding --help or --version, continue
   and validate the rest of command-line (thanks to Svyatoslav Mishyn, a.k.a.
   juef);
 - display incomplete file name on rename instead of failing with error on
   Unicode conversion issues.

See change log for the full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

July 09, 2015
=============

vifm v0.8
---------

New version brings several useful improvements of different kinds.  The most
substantial addition is custom views that allow one to combine files from
several directories in one view, which in turn enables processing of
search/grep/etc. results similar to handling contents of a regular directory.

Thanks to everyone who was reporting issues during beta period.

Also reminding about #vifm@Freenode IRC channel, color schemes preview at
http://vifm.info/colorschemes.shtml and introducing http://q2a.vifm.info Q&A
site for general usage questions.

Main changes:
 - added filename specific highlight (with a script to convert ls options);
 - added custom views, which contrary to regular views can contain files that do
   not belong to the same directory;
 - added job bar to display active backgrounded file operations;
 - added command-line mode abbreviations;
 - added global configuration and color schemes directory;
 - added live search match highlighting;
 - added optional per-file progress for file operations;
 - added full path patterns ({{globs}} and //regexp//);
 - added command-line options to control file/directory selection and selection
   processing to make it easier to use vifm as a file picker;
 - color schemes got ".vifm" extension, but the old-style names will still work
   for now;
 - XDG specification support;
 - ability to use terminal applications to preview graphics (e.g.
   w3mimgdisplay).

File operations:
 - added per-file overwrite confirmation on directory merging (thanks to
   willemw12);
 - added detailed list of errors when 'syscalls' is used (thanks to willemw12).

Key bindings:
 - added F key to less-like (file view) mode, which acts similar to `tail -F` or
   F key in less (thanks to Daniel Dettlaff, a.k.a. dmilith);
 - added b key to menu mode that creates custom view filled with menu items
   filtering out those that are not paths;
 - added zd normal and visual modes key to exclude items from custom views;
 - optional per-file progress in dialog mode activated by hitting "i" while
   operation is being performed.

:set command and options:
 - added 'chaselinks' option to automatically expand all symbolic links in path
   of a view (might not work on Windows) (thanks to filterfalse);
 - added 'mintimeout' option.  It enables controlling responsiveness on external
   events by Vifm (thanks to hofheinz);
 - added 'wordchars' option to specify which characters in command-line mode
   should be considered as part of a word (thanks to filterfalse);
 - added ^= operation for charset options;
 - added %[ and %] macros for 'statusline'/'ruler' (thanks to ranousse);
 - added "p" to 'shortmess' option to control tilde shortening of path in view
   titles (thanks to Martin Fischer);
 - changed default value of 'trashdir' from "$VIFM/Trash" to
   "%r/.vifm-Trash,$VIFM/Trash" (thanks to Joseph LP, a.k.a. ootput);
 - normalized sorting keys/view column names: "type" -> "dir", display real mode
   in octal for "mode", make "type" actually display file type (as "mode" did
   before) (thanks to Michal Belica, a.k.a. beli-sk);
 - united last pattern of :substitute command with search history (thanks to
   filterfalse).

Command-line mode:
 - added :highlight {pattern} for filename specific highlight (thanks to Ink,
   a.k.a. inknoir, filterfalse and Michael Maddern, a.k.a. madders);
 - added :cabbrev, :cnoreabbrev and :cunabbrev commands to manage command-line
   mode abbreviations (thanks to filterfalse);
 - added Ctrl-X / (slash) key to that inserts last search pattern into current
   cursor position (thanks to filterfalse);
 - added Ctrl-] key to trigger abbreviation expansion;
 - added single-argument form of :file[x]type and :fileviewer commands that
   lists (in menu mode) currently registered patterns that match specified file
   name;
 - added :cq[uit] command to exit with non-zero exit code and also abort
   directory choosing (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran);
 - added :trashes? to display sizes of each non-empty trash directories (thanks
   to Svyatoslav Mishyn, a.k.a. juef);
 - added regexp patterns to :file[x]type and :fileviewer commands (thanks to
   filterfalse);
 - added :redr[aw] command to force immediate redraw (thanks to filterfalse);
 - allow non-printable characters to be arguments of :commands (thanks to
   filterfalse);
 - extended :sync command to support selective synchronization (user can choose
   among location, cursor position, local options and filters) (thanks to
   filterfalse).

Completion:
 - complete `clear` subcommand of :highlight.

Angle bracket notation:
 - added <lt> angle bracket notation (less-than character, '<') (thanks to
   filterfalse);
 - map <c-h> and <bs> to different key codes (thanks to fogine).  This is caused
   by inconsistency among terminals, map to both keys and it should work
   everywhere.

Macros:
 - added %px, %py, %pw and %ph macros that describe location and dimensions of
   preview area to use in external commands (thanks to Stephano, a.k.a. cao);
 - added %u and %U macros to redirect command output directly into custom view.
   The second one allows for more customization of file list, which is absence
   of sorting for now (thanks to filterfalse);
 - no more unjustified inconsistency in processing macros in :! and :file[x]type
   commands (thanks to Miodrag Tokić, a.k.a. loonies).

Scripting:
 - added system() builtin function that executes command via shell and returns
   its output;
 - added full path patterns ({{globs}} and //regexp//) (thanks to astrell);
 - report error on wrong expression in :if statement and misplaced :else/:endif
   on file sourcing.

Color scheme:
 - added JobLine highlight group for the job bar.

Configuration:
 - added fallback to use "XDG Base Directory Specification" when failed to find
   configuration in other places (thanks to Miodrag Tokić, a.k.a. loonies);
 - added global configuration {prefix}/etc/vifm/vifmrc and color schemes
   {prefix}/etc/vifm/colors/* (thanks to astrell and Michael Vetter, a.k.a.
   jubalh).

Performance:
 - significantly reduced amount of work performed by Vifm in idle state (thanks
   to hofheinz);
 - quit fast on --help/--version (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - throw away dead directories in directory histories on merging vifminfo files.
   Otherwise clearing such directories on :history is almost useless.

Menus and dialogs:
 - added handling of Ctrl-L to sort dialog (thanks to filterfalse);
 - added device id (major and minor numbers) to file info dialog;
 - made calculation of directory size visible in :jobs menu;
 - parse output of mandoc version of apropos in :apropos (thanks to Svyatoslav
   Mishyn, a.k.a. juef);
 - display RFC 2822 date without time zon in file info (thanks to Svyatoslav
   Mishyn, a.k.a. juef).

TUI (Text User Interface):
 - added search match highlighting for file names (thanks to Svyatoslav Mishyn,
   a.k.a. juef, and willemw12);
 - added job bar that displays backgrounded file operations if any (thanks to
   geo909);
 - redraw UI on resize during file operation when 'syscalls' is set;
 - redraw UI on resize when dialog is active;
 - dynamic dialog dimensions (minimum %30 percent of the screen rather than
   screen-wide all the time) (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - auto-resize position field on the status bar to fit the text (thanks to
   ranousse);
 - append unused space in view columns to the last one with percent sizing type
   if any (thanks to fogine).

Documentation:
 - manual page fixes/improvements (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - wrapped option names with single quotes in the man page to make it easier to
   search for options by their names.

Packaging:
 - added one more light color scheme to assets (in two variations astrell-root
   and astrell-user) (thanks to astrell);
 - added lookup for mandoc on *nix to perform manual page to plain text
   transformation (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - added OS X version of sample vifmrc file.  Now this one will be used on first
   run on OS X (thanks to Larry Hynes, a.k.a. larryhynes);
 - added dircolors -> vifm conversion script (thanks to Ink, a.k.a. inknoir,
   Hendrik Jaeger, a.k.a. henk, and Michael Maddern, a.k.a. madders);
 - added .vifm extension to color schemes (initial rename is performed
   automatically) (thanks Michael Vetter, a.k.a. jubalh);
 - added script to update timestamps, so that build system won't be regenerated
   without real reason.  One might want to run it when building from git
   checkout, which doesn't preserve correct timestamps;
 - install AUTHORS, COPYING, ChangeLog, INSTALL, NEWS, README and TODO to
   {prefix}/share/doc/vifm.  Install color schemes to
   {prefix}/share/vifm/colors.  Otherwise these are not available after
   installation;
 - made configure script lookup curs_set in libtinfo;
 - moved checks for build-time tools existence from Makefile to configure
   script;
 - made tests less dependent on environment (thanks to Hendrik Jaeger, a.k.a.
   henk).

Only on Windows:
 - automatically install sample vifmrc and help file on first start;
 - switch to utf-8 internal representation of paths.  This fixes issues when
   file name encoding doesn't match system encoding (thanks to Stas Panteleev).

Important fixes:
 - fixed undesired file removal on overwriting them with themselves (data loss
   after confirmation of overwriting files when destination matches source)
   (thanks to Сергей Соловьёв (Sergej Soloviov));
 - fixed crash on navigation to end of line in command-line mode (thanks to
   Christian Fillion, a.k.a. cfillion);
 - fixed `:help` (no arguments) when 'vimhelp' is on and automatically installed
   Vim documentation is used (thanks to ranousse);
 - better handling of case related operations;
 - fixed ":vs .." which used to use wrong base directory;
 - fixed assertion on including "type" in 'viewcolumns' value (thanks to Michal
   Belica, a.k.a. beli-sk);
 - better FUSE handling on OS X (thanks to Michael Maddern, a.k.a. madders);
 - fixed (deep) directory merging (thanks to willemw12);
 - fixed build and work on OpenBSD (at least to some degree that curses
   implementation there allows).  There might be some troubles with non-ascii
   characters (thanks to hofheinz and Brian Callahan, a.k.a. ibara);
 - fixed copying of fifo, socket and device files with 'syscalls' enabled.
   Thanks to Svyatoslav Mishyn (a.k.a. juef).

Vim-plugin:
 - added K mapping to Vim plugin (quick navigation to documentation, e.g. from
   vifmrc).  Patch by filterfalse.

Other changes:
 - added --delimiter command-line option.  Configures delimiter string on
   writing out list of paths (like on `-f` switch) (thanks to Jeet Sukumaran,
   a.k.a. jeetsukumaran);
 - added --choose-files and --choose-dir command-line switches to specify output
   location for names of selected files or last visited directory
   respectively (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran);
 - added --on-choose command-line switch to execute a command on selection
   rather than opening it (thanks to Ross Hadden, a.k.a. rosshadden);
 - added %FOREGROUND FUSE mounting option, which supersedes %CLEAR and fixes
   issue with passing input to FUSE mounter (thanks to Johannes, a.k.a. johannesmeng);
 - removed per-view last search pattern.  Don't worry, you probably won't even
   notice it: this doesn't affect regular use case, rather more exotic one,
   which is hard to notice;
 - better handling or unexpectedly unavailable directories on startup and while
   running (thanks to willemw12);
 - define $VIFM_FUSE_FILE environment variable for external commands to
   communicate path to file used to initiate FUSE mounting of directory we're
   in (thanks to astrell);
 - allowed having multiple file viewers with same rules for choosing them at
   run-time as for file associations (thanks to filterfalse);
 - redirect both standard output and error streams from viewers (already was the
   case for Windows);
 - handle commands that are too long to be passed directly to the shell by
   breaking them into list of arguments if possible (thanks to filterfalse).

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

June 19, 2015
=============

vifm v0.8 beta testing has started
----------------------------------

New version brings several useful improvements of different kinds.  The most
substantial addition is custom views that allow one to combine files from
several directories in one view, which in turn enables processing of
search/grep/etc. results similar to handling contents of a regular directory.

That change alone affected internal structure quite seriously which combined
with operations on system calls from the previous release distant new version
far enough from 0.7 to name it 0.8.

Version change also gives one a moral right to introduce incompatible changes.
So if anyone remembers me postponing changing defaults or something like that
and is still waiting on it, please send a reminder (unfortunately I was
careless enough to didn't make detailed list of such things).  As of now the
following items are under evaluation:
 - removing "options", "filetypes", "commands" from 'vifminfo' option (not a
   big deal, but it's not really useful as well, and maybe potentially
   harmful);
 - removing 'trash' option as it effectively affects quite a lot things and is
   better to be enabled;
 - have 'hlsearch' off by default as normally search doesn't select anything
   and user can accidentally run some operation on too many files with default
   setup.

Please see the README file in packages for links where feedback can be
provided.

The beta stage will last about two weeks.  In case any serious bugs are found
during this period, another beta version might be released.

Main changes:
 - added filename specific highlight;
 - added custom views, which contrary to regular views can contain files that do
   not belong to the same directory;
 - added job bar to display active backgrounded file operations;
 - added command-line mode abbreviations;
 - added global configuration and color schemes directory;
 - added live search match highlighting;
 - added optional per-file progress for file operations;
 - added full path patterns ({{globs}} and //regexp//);
 - added command-line options to control file/directory selection and selection
   processing to make it easier to use vifm as a file picker;
 - color schemes got ".vifm" extension, but the old-style names will still work
   for now;
 - XDG specification support.

File operations:
 - added per-file overwrite confirmation on directory merging (thanks to
   willemw12);
 - added detailed list of errors when 'syscalls' is used (thanks to willemw12).

Key bindings:
 - added F key to less-like (file view) mode, which acts similar to `tail -F` or
   F key in less (thanks to Daniel Dettlaff, a.k.a. dmilith);
 - added b key to menu mode that creates custom view filled with menu items
   filtering out those that are not paths;
 - added zd normal and visual modes key to exclude items from custom views;
 - optional per-file progress in dialog mode activated by hitting "i" while
   operation is being performed.

:set command and options:
 - added 'chaselinks' option to automatically expand all symbolic links in path
   of a view (might not work on Windows) (thanks to filterfalse);
 - added 'mintimeout' option.  It enables controlling responsiveness on external
   events by Vifm (thanks to hofheinz);
 - added 'wordchars' option to specify which characters in command-line mode
   should be considered as part of a word (thanks to filterfalse);
 - added ^= operation for charset options;
 - added %[ and %] macros for 'statusline'/'ruler' (thanks to ranousse);
 - added "p" to 'shortmess' option to control tilde shortening of path in view
   titles (thanks to Martin Fischer);
 - changed default value of 'trashdir' from "$VIFM/Trash" to
   "%r/.vifm-Trash,$VIFM/Trash" (thanks to Joseph LP, a.k.a. ootput);
 - normalized sorting keys/view column names: "type" -> "dir", display real mode
   in octal for "mode", make "type" actually display file type (as "mode" did
   before) (thanks to Michal Belica, a.k.a. beli-sk);
 - united last pattern of :substitute command with search history (thanks to
   filterfalse).

Command-line mode:
 - added :highlight {pattern} for filename specific highlight (thanks to Ink,
   a.k.a. inknoir, filterfalse and Michael Maddern, a.k.a. madders);
 - added :cabbrev, :cnoreabbrev and :cunabbrev commands to manage command-line
   mode abbreviations (thanks to filterfalse);
 - added Ctrl-X / (slash) key to that inserts last search pattern into current
   cursor position (thanks to filterfalse);
 - added Ctrl-] key to trigger abbreviation expansion;
 - added single-argument form of :file[x]type and :fileviewer commands that
   lists (in menu mode) currently registered patterns that match specified file
   name;
 - added :cq[uit] command to exit with non-zero exit code and also abort
   directory choosing (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran);
 - added :trashes? to display sizes of each non-empty trash directories (thanks
   to Svyatoslav Mishyn, a.k.a. juef);
 - added regexp patterns to :file[x]type and :fileviewer commands (thanks to
   filterfalse);
 - added :redr[aw] command to force immediate redraw (thanks to filterfalse);
 - allow non-printable characters to be arguments of :commands (thanks to
   filterfalse);
 - extended :sync command to support selective synchronization (user can choose
   among location, cursor position, local options and filters) (thanks to
   filterfalse).

Completion:
 - complete `clear` subcommand of :highlight.

Angle bracket notation:
 - added <lt> angle bracket notation (less-than character, '<') (thanks to
   filterfalse);
 - map <c-h> and <bs> to different key codes (thanks to fogine).  This is caused
   by inconsistency among terminals, map to both keys and it should work
   everywhere.

Macros:
 - added %px, %py, %pw and %ph macros that describe location and dimensions of
   preview area to use in external commands (thanks to Stephano, a.k.a. cao);
 - added %u and %U macros to redirect command output directly into custom view.
   The second one allows for more customization of file list, which is absence
   of sorting for now (thanks to filterfalse);
 - no more unjustified inconsistency in processing macros in :! and :file[x]type
   commands (thanks to Miodrag Tokić, a.k.a. loonies).

Scripting:
 - added system() builtin function that executes command via shell and returns
   its output;
 - added full path patterns ({{globs}} and //regexp//) (thanks to astrell);
 - report error on wrong expression in :if statement and misplaced :else/:endif
   on file sourcing.

Color scheme:
 - added JobLine highlight group for the job bar.

Configuration:
 - added fallback to use "XDG Base Directory Specification" when failed to find
   configuration in other places (thanks to Miodrag Tokić, a.k.a. loonies);
 - added global configuration {prefix}/etc/vifm/vifmrc and color schemes
   {prefix}/etc/vifm/colors/* (thanks to astrell and Michael Vetter, a.k.a.
   jubalh).

Performance:
 - significantly reduced amount of work performed by Vifm in idle state (thanks
   to hofheinz);
 - quit fast on --help/--version (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - throw away dead directories in directory histories on merging vifminfo files.
   Otherwise clearing such directories on :history is almost useless.

Menus and dialogs:
 - made calculation of directory size visible in :jobs menu;
 - parse output of mandoc version of apropos in :apropos (thanks to Svyatoslav
   Mishyn, a.k.a. juef).

TUI (Text User Interface):
 - added search match highlighting for file names (thanks to Svyatoslav Mishyn,
   a.k.a. juef, and willemw12);
 - added job bar that displays backgrounded file operations if any (thanks to
   geo909);
 - redraw UI on resize during file operation when 'syscalls' is set;
 - redraw UI on resize when dialog is active;
 - dynamic dialog dimensions (minimum %30 percent of the screen rather than
   screen-wide all the time) (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - auto-resize position field on the status bar to fit the text (thanks to
   ranousse).

Documentation:
 - manual page fixes/improvements (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - wrapped option names with single quotes in the man page to make it easier to
   search for options by their names.

Packaging:
 - added one more light color scheme to assets (in two variations astrell-root
   and astrell-user) (thanks to astrell);
 - added lookup for mandoc on *nix to perform manual page to plain text
   transformation (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - added OS X version of sample vifmrc file.  Now this one will be used on first
   run on OS X (thanks to Larry Hynes, a.k.a. larryhynes);
 - added dircolors -> vifm conversion script (thanks to Ink, a.k.a. inknoir,
   Hendrik Jaeger, a.k.a. henk, and Michael Maddern, a.k.a. madders);
 - added .vifm extension to color schemes (initial rename is performed
   automatically) (thanks Michael Vetter, a.k.a. jubalh);
 - install AUTHORS, COPYING, ChangeLog, INSTALL, NEWS, README and TODO to
   {prefix}/share/doc/vifm.  Install color schemes to
   {prefix}/share/vifm/colors.  Otherwise these are not available after
   installation;
 - made configure script lookup curs_set in libtinfo;
 - moved checks for build-time tools existence from Makefile to configure script;
 - made tests less dependent on environment (thanks to Hendrik Jaeger, a.k.a.
   henk).

Only on Windows:
 - automatically install sample vifmrc and help file on first start;
 - switch to utf-8 internal representation of paths.  This fixes issues when
   file name encoding doesn't match system encoding (thanks to Stas Panteleev).

Major fixes:
 - fixed undesired file removal on overwriting them with themselves (data loss
   after confirmation of overwriting files when destination matches source)
   (thanks to Сергей Соловьёв (Sergej Soloviov));
 - fixed crash on navigation to end of line in command-line mode (thanks to
   Christian Fillion, a.k.a. cfillion);
 - fixed `:help` (no arguments) when 'vimhelp' is on and automatically installed
   Vim documentation is used (thanks to ranousse);
 - better handling of case related operations;
 - fixed ":vs .." which used to use wrong base directory;
 - fixed assertion on including "type" in 'viewcolumns' value (thanks to Michal
   Belica, a.k.a. beli-sk);
 - better FUSE handling on OS X (thanks to Michael Maddern, a.k.a. madders).

Vim-plugin:
 - added K mapping to Vim plugin (quick navigation to documentation, e.g. from
   vifmrc).  Patch by filterfalse.

Other changes:
 - added --delimiter command-line option.  Configures delimiter string on
   writing out list of paths (like on `-f` switch) (thanks to Jeet Sukumaran,
   a.k.a. jeetsukumaran);
 - added --choose-files and --choose-dir command-line switches to specify output
   location for names of selected files or last visited directory
   respectively (thanks to Jeet Sukumaran, a.k.a. jeetsukumaran);
 - added --on-choose command-line switch to execute a command on selection
   rather than opening it (thanks to Ross Hadden, a.k.a. rosshadden);
 - added %FOREGROUND FUSE mounting option, which supersedes %CLEAR and fixes
   issue with passing input to FUSE mounter (thanks to Johannes, a.k.a.
   johannesmeng);
 - removed per-view last search pattern.  Don't worry, you probably won't even
   notice it: this doesn't affect regular use case, rather more exotic one,
   which is hard to notice;
 - better handling or unexpectedly unavailable directories on startup and while
   running (thanks to willemw12);
 - define $VIFM_FUSE_FILE environment variable for external commands to
   communicate path to file used to initiate FUSE mounting of directory we're
   in (thanks to astrell);
 - allowed having multiple file viewers with same rules for choosing them at
   run-time as for file associations (thanks to filterfalse);
 - redirect both standard output and error streams from viewers (already was the
   case for Windows);
 - handle commands that are too long to be passed directly to the shell by
   breaking them into list of arguments if possible (thanks to filterfalse).

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

October 25, 2014
================

Vifm v0.7.8 release
-------------------

New version adds a couple of major features, allows for some more customizations
and makes usual operations more convenient.  Finally, file system operations got
progress (it's disabled by default, new implementation needs to be tested in
different environments to become the primary one). Another frequently asked
feature is multiblock selection ("extended visual mode" if you wish). Vifm also
became friendlier to authors of colorschemes and those who'd like to customize
UI a bit more.

Main changes:
 - added multiblock "selection" (in quotes because it's also block deselection
   and inversion of selection for completeness);
 - added progress bar for file operations.  Available only if 'syscalls' option
   is set  (please be careful with that, check basic operations on temp files
   before using this with important data);
 - added names for 256 colors, highlight group for inactive cursor,
   ":highlight clear" command;
 - some improvements for cancelling operations;
 - better implementation of emptying trash directories;
 - new types of conflict resolution;
 - several extensions for filtering with user-defined commands;
 - more customizable UI (borders, padding);
 - smarter path completion;
 - separated Vifm and Vim plugin documentation;
 - a couple of extensions for Vim plugin (for mail and bulk file renaming).

Core:
 - added cancellation (handling of Ctrl-C) for FUSE mounting (but not
   unmounting);
 - added progress for long-running file system operations.  Available only if
   'syscalls' option is set;
 - added "[a]ppend the end" conflict resolution option (appends the rest of
   file, e.g. if previous operation was terminated) (thanks to Sergei
   Shilovsky).  Available only if 'syscalls' option is set;
 - added merge all option for name conflict resolution.  Same as "merge", but
   remembers the choice for future conflicts of directories (thanks to
   willemw12);
 - added skip all option for name conflict resolution (thanks to Miodrag
   Tokić (a.k.a. loonies));
 - changed "overwrite all" key from "a" to "O" for consistency (thanks to
   willemw12);
 - implemented creation, removal, copying, moving of files with system calls.
   Available only if 'syscalls' option is set;
 - rewrote trash content removal with system calls in background thread (thanks
   to lyuts and ckester).  It's also now visible in :jobs menu;
 - several improvements for :lstrash menu (thanks to filterfalse);
 - more reliable Ctrl-C detection.

Normal and visual modes:
 - added av normal mode shortcut that activates selection amending mode (thanks
   to ranousse, Michelle Bonk (a.k.a. unixtechie));
 - added/updated av/v/V visual mode keys to switch type of current visual mode;
 - added Ctrl-G key to visual selection amending mode, which switches kind of
   amending (append/remove/invert);
 - added ga and gA keys to visual mode (thanks to geo909);
 - separate visual selection marks ('< and '>), which allows to restore it via
   gv in both panes (thanks to filterfalse);
 - implement "(" and ")" keys for "perms" and "type" sorting keys (thanks to
   filterfalse);
 - skip nonexistent directories on Ctrl-O/Ctrl-I;
 - repeat search with last used search pattern on empty pattern of the search
   mode;
 - taught ga/gA commands to handle selection (thanks to geo909).

Command-line mode:
 - added i and I flags to :filter command to control filter case
   sensitivity (thanks to filterfalse);
 - added filter flags to output of :filter? command and formatted output as a
   table;
 - added ":highlight clear" to reset to builtin colors;
 - added =pattern special form of user-defined command that sets local filter to
   the given value (alike "/pattern" and "filter value") (thanks to
   filterfalse);
 - made :filter command consider trailing slash for symbolic links that point to
   directories (thanks to filterfalse);
 - allowed use of :filter syntax in user-defined filter commands (e.g.
   "command conf filter/.*\.cfg$/");
 - made +/- operands after semicolon in command-line range adjust base range end
   position rather than base cursor position as Vim does (thanks to
   filterfalse).

:set command and options:
 - added 'syscalls' boolean option.  Chooses external tools/system calls
   implementation.  {EXPERIMENTAL}, {WORK-IN-PROGRESS}, although no data loss so
   far.  The option will be eventually removed.  Mostly *nix-like systems are
   affected;
 - added 'cdpath' option (thanks to Bruce Hunsaker (a.k.a. hunsakerbn));
 - added 'tuioptions' option.  Controls padding of file lists in panels and
   visibility of side borders (thanks to Bruce Hunsaker (a.k.a. hunsakerbn) and
   Svyatoslav Mishyn (a.k.a. juef));
 - added 'fillchars' option.  Configures fill character for vertical
   borders (thanks to Svyatoslav Mishyn (a.k.a. juef));
 - extended 'slowfs' option format to allow path prefixes (in particular, it's
   useful for autofs) (thanks to Евгений Жаров (a.k.a. ezharov)).

Scripting:
 - added logical NOT unary operator ("!");
 - added executable() builtin function that checks whether executable exists at
   given path or in one of directories listed in $PATH;
 - added has() builtin function that checks whether particular property is
   enabled (two properties for now: "unix" and "win") (thanks to filterfalse);
 - made expand() builtin function expand environment variables (thanks to
   filterfalse).

Performance:
 - optimized speed of checking existence of a directory (important on displaying
   directory history);
 - automatically remove non-existent directories from directory history on
   :history command to speed up future operations (this clean up is very cheap
   on composing menu).

Completion:
 - added function name completion on command-line;
 - smart completion for paths.  Allows completion of quoted arguments (both
   ' and " types of quotes) and considers argument type context by performing
   escaping when needed.

Documentation:
 - added full command names to the manual page to ease searching them (thanks to
   y2kbugger);
 - documented how to use 256 colors in :highlight command (thanks to Michael
   Vetter (a.k.a. jubalh));
 - made it possible to hide Vifm's documentation from Vim when it's not run by
   Vifm's :help command (thanks to ranousse);
 - separated Vifm's vimdoc from plugin documentation.

TUI (Text User Interface):
 - added more human-friendly (xterm-like) names for 256 colors (thanks to
   Michael Vetter (a.k.a. jubalh));
 - added OtherLine highlight group for cursor of inactive pane (thanks to
   Svyatoslav Mishyn (a.k.a. juef));
 - more accurate scheduling of view updates.

Vim:
 - added file additional mail filetype plugin for Vim (thanks to Pavneet Arora).
   It allows one to pick attachments via Vifm on <localleader>a shortcut;
 - added file renaming filetype plugin for Vim (thanks to Factorial Prime).  It
   displays list of original file names in a vertical split;
 - provided additional repository for Vim
   plugin (https://github.com/vifm/vifm.vim);
 - make Vim plugin use cmd.exe as default shell on Windows (thanks to Jonathan
   Da Silva);
 - various minor syntax highlight improvements (wrapped lines, numbers,
   options).

Packaging:
 - added Vim plugin directory to share/vifm/vim on `make install` (thanks
   Svyatoslav Mishyn (a.k.a. juef));
 - removed ltmain.sh script, which is part of libtool that's not used
   anymore (thanks to Hendrik Jaeger (a.k.a. henk));
 - renamed configure.in to configure.ac (thanks to Hendrik Jaeger (a.k.a.
   henk));
 - "make clean" now removes "tags" files for Vim documentation generated
   during build (thanks to Hendrik Jaeger (a.k.a. henk)).

Major fixes:
 - fixed segmentation fault on running vifm with single argument if restored
   cursor is in the right pane (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - fixed segmentation fault during startup in a small terminal on OS X (thanks
   to Daniel Dettlaff (a.k.a. dmilith));
 - fixed segmentation fault on no view history and ":set autochpos" in
   vifmrc (thanks to ranousse);
 - fixed unexpectedly broken compilation on FreeBSD (thanks to Daniel
   Dettlaff (a.k.a. dmilith));
 - fixed :!! command, seems to be not working for a while;
 - fixed segmentation fault on Alt-. command in command-line mode (since 0.7.7).

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

October 11, 2014
================

vifm v0.7.8 beta testing has started
------------------------------------

New version adds a couple of major features, allows for some more customizations
and makes usual operations more convenient.  Finally, file system operations got
progress (it's disabled by default, new implementation needs to be tested in
different environments to become the primary one). Another frequently asked
feature is multiblock selection ("extended visual mode" if you wish). Vifm also
became friendlier to authors of colorschemes and those who'd like to customize
UI a bit more.

The beta stage will last about two weeks.  In case any serious bugs are found
during this period, another beta version might be released.

Main changes:
 - added multiblock "selection" (in quotes because it's also block deselection
   and inversion of selection for completeness);
 - added progress bar for file operations.  Available only if 'syscalls' option
   is set  (please be careful with that, check basic operations on temp files
   before using this with important data);
 - added names for 256 colors, highlight group for inactive cursor,
   ":highlight clear" command;
 - some improvements for cancelling operations;
 - better implementation of emptying trash directories;
 - new types of conflict resolution;
 - several extensions for filtering with user-defined commands;
 - more customizable UI (borders, padding);
 - smarter path completion;
 - separated Vifm and Vim plugin documentation;
 - a couple of extensions for Vim plugin (for mail and bulk file renaming).

Core:
 - added cancellation (handling of Ctrl-C) for FUSE mounting (but not
   unmounting);
 - added progress for long-running file system operations.  Available only if
   'syscalls' option is set;
 - added "[a]ppend the end" conflict resolution option (appends the rest of
   file, e.g. if previous operation was terminated) (thanks to Sergei
   Shilovsky).  Available only if 'syscalls' option is set;
 - added merge all option for name conflict resolution.  Same as "merge", but
   remembers the choice for future conflicts of directories (thanks to
   willemw12);
 - changed "overwrite all" key from "a" to "O" for consistency (thanks to
   willemw12);
 - implemented creation, removal, copying, moving of files with system calls.
   Available only if 'syscalls' option is set;
 - rewrote trash content removal with system calls in background thread (thanks
   to lyuts and ckester).  It's also now visible in :jobs menu;
 - several improvements for :lstrash menu (thanks to filterfalse);
 - more reliable Ctrl-C detection.

Normal and visual modes:
 - added av normal mode shortcut that activates selection amending mode (thanks
   to ranousse, Michelle Bonk (a.k.a. unixtechie));
 - added/updated av/v/V visual mode keys to switch type of current visual mode;
 - added Ctrl-G key to visual selection amending mode, which switches kind of
   amending (append/remove/invert);
 - separate visual selection marks ('< and '>), which allows to restore it via
   gv in both panes (thanks to filterfalse);
 - implement "(" and ")" keys for "perms" and "type" sorting keys (thanks to
   filterfalse);
 - skip nonexistent directories on Ctrl-O/Ctrl-I;
 - repeat search with last used search pattern on empty pattern of the search
   mode.

Command-line mode:
 - added i and I flags to :filter command to control filter case
   sensitivity (thanks to filterfalse);
 - added filter flags to output of :filter? command and formatted output as a
   table;
 - added ":highlight clear" to reset to builtin colors;
 - added =pattern special form of user-defined command that sets local filter to
   the given value (alike "/pattern" and "filter value") (thanks to
   filterfalse);
 - made :filter command consider trailing slash for symbolic links that point to
   directories (thanks to filterfalse);
 - allowed use of :filter syntax in user-defined filter commands (e.g.
   "command conf filter/.*\.cfg$/");
 - made +/- operands after semicolon in command-line range adjust base range end
   position rather than base cursor position as Vim does (thanks to
   filterfalse).

:set command and options:
 - added 'syscalls' boolean option.  Chooses external tools/system calls
   implementation.  {EXPERIMENTAL}, {WORK-IN-PROGRESS}, although no data loss so
   far.  The option will be eventually removed.  Mostly *nix-like systems are
   affected;
 - added 'cdpath' option (thanks to Bruce Hunsaker (a.k.a. hunsakerbn));
 - added 'tuioptions' option.  Controls padding of file lists in panels and
   visibility of side borders (thanks to Bruce Hunsaker (a.k.a. hunsakerbn) and
   Svyatoslav Mishyn (a.k.a. juef));
 - added 'fillchars' option.  Configures fill character for vertical
   borders (thanks to Svyatoslav Mishyn (a.k.a. juef));
 - extended 'slowfs' option format to allow path prefixes (in particular, it's
   useful for autofs) (thanks to Евгений Жаров (a.k.a. ezharov)).

Scripting:
 - added logical NOT unary operator ("!");
 - added executable() builtin function that checks whether executable exists at
   given path or in one of directories listed in $PATH;
 - added has() builtin function that checks whether particular property is
   enabled (two properties for now: "unix" and "win") (thanks to filterfalse);
 - made expand() builtin function expand environment variables (thanks to
   filterfalse).

Performance:
 - optimized speed of checking existence of a directory (important on displaying
   directory history);
 - automatically remove non-existent directories from directory history on
   :history command to speed up future operations (this clean up is very cheap
   on composing menu).

Completion:
 - added function name completion on command-line;
 - smart completion for paths.  Allows completion of quoted arguments (both
   ' and " types of quotes) and considers argument type context by performing
   escaping when needed.

Documentation:
 - added full command names to the manual page to ease searching them (thanks to
   y2kbugger);
 - documented how to use 256 colors in :highlight command (thanks to Michael
   Vetter (a.k.a. jubalh));
 - made it possible to hide Vifm's documentation from Vim when it's not run by
   Vifm's :help command (thanks to ranousse);
 - separated Vifm's vimdoc from plugin documentation.

TUI (Text User Interface):
 - added more human-friendly (xterm-like) names for 256 colors (thanks to
   Michael Vetter (a.k.a. jubalh));
 - added OtherLine highlight group for cursor of inactive pane (thanks to
   Svyatoslav Mishyn (a.k.a. juef)).

Vim:
 - added file additional mail filetype plugin for Vim (thanks to Pavneet Arora).
   It allows one to pick attachments via Vifm on <localleader>a shortcut;
 - added file renaming filetype plugin for Vim (thanks to Factorial Prime).  It
   displays list of original file names in a vertical split;
 - provided additional repository for Vim
   plugin (https://github.com/vifm/vifm.vim);
 - make Vim plugin use cmd.exe as default shell on Windows (thanks to Jonathan
   Da Silva);
 - various minor syntax highlight improvements (wrapped lines, numbers,
   options).

Packaging:
 - added Vim plugin directory to share/vifm/vim on `make install` (thanks
   Svyatoslav Mishyn (a.k.a. juef));
 - removed ltmain.sh script, which is part of libtool that's not used
   anymore (thanks to Hendrik Jaeger (a.k.a. henk));
 - renamed configure.in to configure.ac (thanks to Hendrik Jaeger (a.k.a.
   henk)).

Major fixes:
 - fixed segmentation fault on running vifm with single argument if restored
   cursor is in the right pane (thanks to Svyatoslav Mishyn, a.k.a. juef);
 - fixed segmentation fault during startup in a small terminal on OS X (thanks
   to Daniel Dettlaff (a.k.a. dmilith));
 - fixed segmentation fault on no view history and ":set autochpos" in
   vifmrc (thanks to ranousse);
 - fixed unexpectedly broken compilation on FreeBSD (thanks to Daniel
   Dettlaff (a.k.a. dmilith));
 - fixed :!! command, seems to be not working for a while;
 - fixed segmentation fault on Alt-. command in command-line mode (since 0.7.7).

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

May 16, 2014
============

vifm v0.7.7 release
-------------------

New version provides more customizations for several existing features
and more convenient interaction with them.

Thanks to all contributors and especially those who tried beta version.

Main changes:
 - vifm has had support for navigation by file number for years, finally it
   can display those numbers;
 - support of trash directories got better with ability to have trash per
   mount point and new trash menus;
 - command-line mode now has Ctrl-X prefixed keys that insert parts of
   filenames and filters (kind of Ctrl-R in Vim);
 - bookmarks are now timestamped for more predictable management (mainly
   deletion and overwriting);
 - for security reasons remote commands are now disabled at configuration
   stage by default;
 - most of long-running operations (:find, :copy, etc.) now can be cancelled
   by pressing Ctrl-C;
 - menus with list of files got unified "gf" (for navigation) and "e" (for
   editing) shortcuts;
 - several fixes and %n macro for better integration with terminal
   multiplexers;
 - ability to sort list view with disabled grouping of directories;
 - expression parser was extended in a couple of ways;
 - added three more sample color schemes.

Configuration:
 - added --enable-remote-cmd switch to configure script disabled by default, as
   current implementation of the feature is insecure.

Menus and dialogs:
 - added "gf" (go to file) and "e" (open in editor) keys to :grep, :find,
   :locate and user menu with navigation (%M macro).

Macros:
 - added %A macro to 'findprg' and 'grepprg' options, which is expanded to
   unmodified list of arguments (thanks to Robert Sarkozi);
 - added %n macro which suppresses using of terminal multiplexer in a command
   (user-defined :command, :!command or :file[x]type action).

Key bindings:
 - added Ctrl-W z key to normal and view modes, which closes preview pane or
   view modes (thanks to filterfalse).

:set command and options:
 - added "type" key to the 'sort' option to allow controlling grouping of
   directories (thanks to Daniel R., a.k.a. reicheltd);
 - added 'number', 'relativenumber' and 'numberwidth' options to control
   displaying of file numbers (thanks to filterfalse and greye);
 - extended 'trashdir' to handle list of path, some of which can specify
   location of trash directories local to each mount point (thanks to
   smpolymen and Sergei Shilovsky).

Command-line mode related changes:
 - added Ctrl-X a/c/d/e/m/r/t/= keys to command-line mode that insert parts
   of file names and values of filters (see related documentation) (thanks to
   ranousse and filterfalse);
 - added :lstrash command-line command, which displays list of files in trash
   (thanks to Sergei Shilovsky);
 - added :trashes command-line command, which lists all non-empty trash
   directories (thanks to Sergei Shilovsky);
 - treat semicolon (";") as a valid range separator for command-line commands;
 - allow empty ranges for command without name (as in :4).

Angle bracket notation:
 - added <nop> angle bracket notation (thanks to filterfalse).

Scripting:
 - added &option syntax for expressions (returns value of an option);
 - extended parser to support integer number constants and unary minus and
   plus operators;
 - extended parser to support <, <=, >= and > comparison operators for strings
   and integers.

Performance:
 - optimized file name comparison on sorting.

Documentation:
 - documented special bookmarks;
 - more verbose documentation on :filextype and its usage.

Color scheme related changes:
 - added sample light color scheme (provided by Daniel R., a.k.a. reicheltd);
 - added sample dark solarized color scheme (provided by Stéphane, a.k.a.
   istib);
 - added zenburn color scheme (provided by Svyatoslav Mishyn, a.k.a. juef).

TUI (Text User Interface):
 - handle backspace in preview window as terminal emulators do (thanks to Svenn
   Are Bjerkem, a.k.a. svenn).

Only on Windows:
 - added handling of paths with backward slashes for :find/:locate/:grep/%M
   menus on Windows (thanks to Robert Sarkozi);
 - fixed extending filetypes that are missing macro on Windows when cmd.exe
   shell is used (thanks to Daniel Polanco, a.k.a. dlpolanco);
 - fixed work with filenames contining special symbols on Windows with cmd.exe
   shell (thanks to Daniel Polanco, a.k.a. dlpolanco);
 - fixed testing whether application uses GUI on Windows when path contains
   spaces;
 - fixed extra escaping on prompt filename completion on Windows.

Other changes:
 - added cancellation handling for file system operations and invocations of
   external applications (works best on *nix systems) (thanks to Milan Svoboda,
   a.k.a. tex);
 - made bookmarks merging smarter by storing timestamps.  Removing bookmarks
   now works as expected.  Bookmarks overwriting by another instance shouldn't
   happen anymore.  (Thanks to Michael Maddern, a.k.a. madders.)

Major fixes:
 - fixed file descriptor leak on finishing background tasks (thanks to
   anonymous from linux.org.ru);
 - fixed several bugs that led to segmentation fault;
 - fixed copying/moving files after picking "Overwrite all" conflict resolution
   option (thanks to Stas Malavin).

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

April 30, 2014
==============

vifm v0.7.7 beta testing has started
------------------------------------

New version provides more customizations for several existing features
and more convenient interaction with them.

The beta stage will last about two weeks.  In case any serious bugs are found
during this period, another beta version might be released.

Main changes:
 - vifm has had support for navigation by file number for years, finally it
   can display those numbers;
 - support of trash directories got better with ability to have trash per
   mount point and new trash menus;
 - command-line mode now has Ctrl-X prefixed keys that insert parts of
   filenames and filters (kind of Ctrl-R in Vim);
 - bookmarks are now timestamped for more predictable management (mainly
   deletion and overwriting);
 - for security reasons remote commands are now disabled at configuration
   stage by default;
 - most of long-running operations (:find, :copy, etc.) now can be cancelled
   by pressing Ctrl-C;
 - menus with list of files got unified "gf" (for navigation) and "e" (for
   editing) shortcuts;
 - several fixes and %n macro for better integration with terminal
   multiplexers;
 - ability to sort list view with disabled grouping of directories;
 - expression parser was extended in a couple of ways;
 - added three more sample color schemes.

Configuration:
 - added --enable-remote-cmd switch to configure script disabled by default, as
   current implementation of the feature is insecure.

Menus and dialogs:
 - added "gf" (go to file) and "e" (open in editor) keys to :grep, :find,
   :locate and user menu with navigation (%M macro).

Macros:
 - added %A macro to 'findprg' and 'grepprg' options, which is expanded to
   unmodified list of arguments (thanks to Robert Sarkozi);
 - added %n macro which suppresses using of terminal multiplexer in a command
   (user-defined :command, :!command or :file[x]type action).

Key bindings:
 - added Ctrl-W z key to normal and view modes, which closes preview pane or
   view modes (thanks to filterfalse).

:set command and options:
 - added "type" key to the 'sort' option to allow controlling grouping of
   directories (thanks to Daniel R., a.k.a. reicheltd);
 - added 'number', 'relativenumber' and 'numberwidth' options to control
   displaying of file numbers (thanks to filterfalse and greye);
 - extended 'trashdir' to handle list of path, some of which can specify
   location of trash directories local to each mount point (thanks to
   smpolymen and Sergei Shilovsky).

Command-line mode related changes:
 - added Ctrl-X a/c/d/e/m/r/t/= keys to command-line mode that insert parts
   of file names and values of filters (see related documentation) (thanks to
   ranousse and filterfalse);
 - added :lstrash command-line command, which displays list of files in trash
   (thanks to Sergei Shilovsky);
 - added :trashes command-line command, which lists all non-empty trash
   directories (thanks to Sergei Shilovsky);
 - treat semicolon (";") as a valid range separator for command-line commands;
 - allow empty ranges for command without name (as in :4).

Angle bracket notation:
 - added <nop> angle bracket notation (thanks to filterfalse).

Scripting:
 - added &option syntax for expressions (returns value of an option);
 - extended parser to support integer number constants and unary minus and
   plus operators;
 - extended parser to support <, <=, >= and > comparison operators for strings
   and integers.

Performance:
 - optimized file name comparison on sorting.

Documentation:
 - documented special bookmarks.

Color scheme related changes:
 - added sample light color scheme (provided by Daniel R., a.k.a. reicheltd);
 - added sample dark solarized color scheme (provided by Stéphane, a.k.a.
   istib);
 - added zenburn color scheme (provided by Svyatoslav Mishyn, a.k.a. juef).

TUI (Text User Interface):
 - handle backspace in preview window as terminal emulators do (thanks to Svenn
   Are Bjerkem, a.k.a. svenn).

Only on Windows:
 - added handling of paths with backward slashes for :find/:locate/:grep/%M
   menus on Windows (thanks to Robert Sarkozi);
 - fixed extending filetypes that are missing macro on Windows when cmd.exe
   shell is used (thanks to Daniel Polanco, a.k.a. dlpolanco);
 - fixed work with filenames contining special symbols on Windows with cmd.exe
   shell (thanks to Daniel Polanco, a.k.a. dlpolanco);
 - fixed testing whether application uses GUI on Windows when path contains
   spaces;
 - fixed extra escaping on prompt filename completion on Windows.

Other changes:
 - added cancellation handling for file system operations and invocations of
   external applications (works best on *nix systems) (thanks to Milan Svoboda,
   a.k.a. tex);
 - made bookmarks merging smarter by storing timestamps.  Removing bookmarks
   now works as expected.  Bookmarks overwriting by another instance shouldn't
   happen anymore.  (Thanks to Michael Maddern, a.k.a. madders.)

Major fixes:
 - fixed file descriptor leak on finishing background tasks (thanks to
   anonymous from linux.org.ru);
 - fixed several bugs that led to segmentation fault.

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

October 31, 2013
================

vifm v0.7.6 release
-------------------

New minor version brings better integration with environment and external tools
as well as enhances file filtering capabilities in several ways.  Apart from
that, old features were tweaked and some build issues and bugs were resolved.
New Win32 and Win64 single-executable (no DLLs) packages appear first time with
this release.

This time beta stage was quite fruitful.  Thanks to all who installed and tried
beta versions, and special thanks to filterfalse.

Main changes:
 - added interactive local filter;
 - added external editing of command-line content with 'vicmd';
 - added integration with tmux;
 - added options to configure external commands for :apropos, :find, :grep
   and :locate commands;
 - added desktop entry file (\*nix only) and updated application icon;
 - fixed build for some combinations of OS/environments (OS X, 32/64-bit
   cygwin, Windows).

Notice: if you mapped q key to something, new q:, q/, q? and q= keys won't be
available; suggested solution is to change the mapping to qq.

More detailed list of changes.

Performance:
 - increased performance of (re)loading content for view mode (thanks to Robert
   Sarkozi).

Key bindings:
 - process [count] passed to gUU, gU<selector>, gUgU, gu<selector>, guu and gugu
   commands;
 - made all Ctrl-W x keys available in view mode (thanks to filterfalse);
 - changed meaning of the R key in view mode from redrawing view to reloading it
   preserving scroll position (thanks to Robert Sarkozi).

Normal and visual modes related changes:
 - added q:, q/, q? and q= keys (q= is defined for normal mode only) to prompt
   for command-line in external editor;
 - added "=" normal mode key, which activates file name filtering.

Command-line mode related changes:
 - added "=" and "filter" values for :history command, to show history of local
   filter;
 - added Ctrl-G key to start editing in external editor (for editing command,
   search pattern and file renames);
 - added optional argument for :invert command to control more kinds of
   inversion (thanks to filterfalse);
 - better order of command validity checks;
 - show better error message on unmatched quotes in command arguments;
 - store cancelled prompt input in prompt history;
 - check destination path existence before changing directory to it on :sync
   command;
 - use last search pattern as filename filter when :filter command gets an empty
   argument (:filter//, :filter"", :filter'') (thanks to filterfalse);
 - match only filename against pattern in :fileviewer instead of full path.

:set command and options:
 - added 'aproposprg', 'findprg', 'grepprg' and 'locateprg' options to specify
   external commands format;
 - added "fhistory" to 'vifminfo', which controls storing of local filter
   history;
 - added "f" flag to 'cpoptions' option.  It controls initial state of filename
   filter inversion for :filter[!] {regex} command (thanks to filterfalse);
 - from now on not absolute paths for the 'fusehome' options are rejected;
 - expand environment variables in values of the 'fusehome' and 'trashdir'
   options (thanks to filterfalse);
 - more adequate reaction on setting 'trashdir' option to wrong value;
 - do not reset selection on search when 'hlsearch' is reset (thanks to
   filterfalse).

File filtering:
 - distinguish files and directories in filename filter by appending a slash to
   names of directories;
 - separated file name filter into manual and automatic, mainly for convenience.

TUI (Text User Interface):
 - preserve current cursor position on view resorting;
 - force split-view when two paths are specified on command-line (thanks to
   filterfalse);
 - consider 'classify' option on displaying file name in the statusbar (thanks
   to Thomas Nemeth).

For Vim:
 - added syntax and filetype plugins for command-line editing buffers (thanks to
   filterfalse);
 - updated syntax file to highlight more elements (thanks to filterfalse).

Only on Windows:
 - filter files in case insensitive way on Windows;
 - don't wait finishing of GUI applications on Windows (thanks to Robert
   Sarkozi).

Other changes:
 - added integration with tmux (thanks to Seth VanHeulen, a.k.a. svanheulen);
 - added desktop entry file (thanks to Richard Benson);
 - added merge option for name conflict resolution, which allows for merging two
   directories overwriting files with matching names;
 - updated application icon (thanks to Richard Benson for making it);
 - don't overwrite directory stack stored in vifminfo on exit unless it was
   changed in current session;
 - improved documentation on several subjects;
 - display error after sourcing file with unmatched :if/:endif
   statements (thanks to filterfalse).

Major fixes:
 - fixed configuration when wcscasecmp(), wcsncasecmp() or set\_escdelay()
   functions is not available (thanks to Russell Urquhart);
 - fixed reserving of about 1 GiB piece of memory on 256-color terminals (sorry
   about that);
 - fixed running of executable with symbols that require escaping in their
   name (\*nix only).  Strangely enough, it wasn't noticed before;
 - fixed terminal hang after executing several external commands in a
   row (thanks to filterfalse);
 - fixed search of the first element in file list when displaying of parent
   directory is disabled;
 - fixed fails on running executables when 'fastrun' option is on (thanks to
   MadMaverick9).

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

October 24, 2013
================

vifm v0.7.6 beta testing continued
----------------------------------

First beta version revealed some issues with new functionality and
degradation of previously existing features.  That's why second beta
version is released.  Included fixes primary target Windows platform,
but some of them are related to \*nix systems as well.

Thanks to filterfalse and Robert Sarkozi for their help in finding and
solving those issues.

Additionally, Win64 build is available now.

See change log for quite short list of fixes and updates.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

October 17, 2013
================

vifm v0.7.6 beta testing has started
------------------------------------

New minor version brings better integration with environment and external tools
as well as enhances file filtering capabilities in several ways.  Apart from
that, old features were tweaked and some build issues and bugs were resolved.
New Win32 single-executable (no DLLs) package appears first time with this
release, Win64 package might also be available a bit later.

The beta stage will last about two weeks.  In case any serious bugs are found
during this period, another beta version might be released.

Main changes:
 - added interactive local filter;
 - added external editing of command-line content with 'vicmd';
 - added integration with tmux;
 - added options to configure external commands for :apropos, :find, :grep
   and :locate commands;
 - added desktop entry file (\*nix only) and updated application icon;
 - fixed build on some versions of OS X.

Notice: if you mapped q key to something, new q:, q/, q? and q= keys won't be
available; suggested solution is to change the mapping to qq.

More detailed list of changes.

Performance:
 - increased performance of (re)loading content for view mode (thanks to Robert
   Sarkozi).

Key bindings:
 - process [count] passed to gUU, gU<selector>, gUgU, gu<selector>, guu and gugu
   commands;
 - made all Ctrl-W x keys available in view mode (thanks to filterfalse);
 - changed meaning of the R key in view mode from redrawing view to reloading it
   preserving scroll position (thanks to Robert Sarkozi).

Normal and visual modes related changes:
 - added q:, q/, q? and q= keys (q= is defined for normal mode only) to prompt
   for command-line in external editor;
 - added "=" normal mode key, which activates file name filtering.

Command-line mode related changes:
 - added "=" and "filter" values for :history command, to show history of local
   filter;
 - added Ctrl-G key to start editing in external editor (for editing command,
   search pattern and file renames);
 - added optional argument for :invert command to control more kinds of
   inversion (thanks to filterfalse);
 - better order of command validity checks;
 - show better error message on unmatched quotes in command arguments;
 - store cancelled prompt input in prompt history;
 - check destination path existence before changing directory to it on :sync
   command;
 - use last search pattern as filename filter when :filter command gets an empty
   argument (:filter//, :filter"", :filter'') (thanks to filterfalse);
 - match only filename against pattern in :fileviewer instead of full path.

:set command and options:
 - added 'aproposprg', 'findprg', 'grepprg' and 'locateprg' options to specify
   external commands format;
 - added "fhistory" to 'vifminfo', which controls storing of local filter
   history;
 - added "f" flag to 'cpoptions' option.  It controls initial state of filename
   filter inversion for :filter[!] {regex} command (thanks to filterfalse);
 - from now on not absolute paths for the 'fusehome' options are rejected;
 - expand environment variables in values of the 'fusehome' and 'trashdir'
   options (thanks to filterfalse);
 - more adequate reaction on setting 'trashdir' option to wrong value;
 - do not reset selection on search when 'hlsearch' is reset (thanks to
   filterfalse).

File filtering:
 - distinguish files and directories in filename filter by appending a slash to
   names of directories;
 - separated file name filter into manual and automatic, mainly for convenience.

TUI (Text User Interface):
 - preserve current cursor position on view resorting;
 - force split-view when two paths are specified on command-line (thanks to
   filterfalse);
 - consider 'classify' option on displaying file name in the statusbar (thanks
   to Thomas Nemeth).

For Vim:
 - added syntax and filetype plugins for command-line editing buffers (thanks to
   filterfalse);
 - updated syntax file to highlight more elements (thanks to filterfalse).

Only on Windows:
 - filter files in case insensitive way on Windows;
 - don't wait finishing of GUI applications on Windows (thanks to Robert
   Sarkozi).

Other changes:
 - added integration with tmux (thanks to Seth VanHeulen, a.k.a. svanheulen);
 - added desktop entry file (thanks to Richard Benson);
 - added merge option for name conflict resolution, which allows for merging two
   directories overwriting files with matching names;
 - updated application icon (thanks to Richard Benson for making it);
 - don't overwrite directory stack stored in vifminfo on exit unless it was
   changed in current session;
 - improved documentation on several subjects.

Major fixes:
 - fixed configuration when wcscasecmp(), wcsncasecmp() or set\_escdelay()
   functions is not available (thanks to Russell Urquhart);
 - fixed reserving of about 1 GiB piece of memory on 256-color terminals (sorry
   about that);
 - fixed running of executable with symbols that require escaping in their
   name (\*nix only).  Strangely enough, it wasn't noticed before;
 - fixed terminal hang after executing several external commands in a
   row (thanks to filterfalse);
 - fixed search of the first element in file list when displaying of parent
   directory is disabled;
 - fixed fails on running executables when 'fastrun' option is on (thanks to
   MadMaverick9).

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

May 10, 2013
==============

vifm v0.7.5 release
-------------------

New version adds one major feature (parsing of escape codes), set of
improvements for existing ones and fixes for bugs.  There are also some changes
in build system and new extra files bundled with vifm.

Main changes:
 - removed using of libtool in build process on *nix-like systems;
 - added parsing of escape codes for the preview pane and less-like view;
 - added expand() builtin function;
 - added Gentoo ebuild and sample color schemes;
 - added macros that are expanded to register's content;
 - added dynamic loading of xlib;
 - added 'shortmess' option;
 - added pausing of shell on external commands fails on Windows;
 - fixed build issues on FreeBSD and OS X systems;
 - fixed for redrawing and searching in less-like mode;
 - fixed issues with :help command on Windows.

More detailed list of changes.

Configuration:
 - added --without/[with]-dyn-X11 flag to the configure script to control
   static/dynamic linking against libX11 library.  Thanks to Hendrik Jaeger
   (a.k.a. henk) for the idea;
 - don't use libtool in build process on *nix platforms (thanks to Merovius).

Documentation:
 - slightly updated plugin related documentation.

Macros:
 - added macros that are expanded to register's content (thanks to Florian
   Baumann, a.k.a. derflob).

:set command and options:
 - added 'shortmess' option and its first flag: "T" to shorten long status-bar
   messages (thanks to ranousse);
 - added "perms" sorting key on *nix (proposed by Daniel Dettlaff, a.k.a.
   dmilith);
 - added new type of option (charset) and used it for 'cpoptions' and
   'shortmess' options;
 - made 'slowfs' option actually work on OS X (thanks to Daniel Dettlaff,
   a.k.a. dmilith).

Color scheme related changes:
 - added sample color schemes (proposed by Daniel Dettlaff, a.k.a. dmilith);
 - don't fallback to default colors on try to switch to a colorscheme, which is
   not supported by terminal.

TUI (Text User Interface):
 - added parsing of escape codes in the preview pane;
 - added parsing of escape codes in explore (less-like) mode;
 - don't redraw file list for explore window on resize;
 - less updates for window in explore mode on resize.

Menus and dialogs:
 - changed the way title of the permissions dialog is composed.

Command-line mode related changes:
 - allowed exclamation mark for the :sync command (to force synchronization of
   cursor position when used without arguments);
 - don't store last command-line command for the dot normal mode command
   between sessions.  Also it doesn't depend on command-line history anymore
   and can be used with completely disabled history;
 - made :execute process its arguments just like :echo command (thanks to
   Daniel Dettlaff, a.k.a. dmilith, which made me discover old behaviour);
 - don't accept arguments to the :help command when 'vimhelp' option is off.

Only on Windows:
 - pause on failed execution of a help command.  Thanks to filterfalse;
 - pause when execution of shell command fails (e.g. on
   `:!foobar-does-not-exist`).

Other changes:
 - added Gentoo ebuild.  Thanks to Oleg Gordienko (a.k.a. gordio);
 - added expand() builtin function to expand macros (thanks to Sebastian
   Cyprych for the use case);
 - less-like mode now highlights multiple matches in a line;
 - less-like mode is now updated immediately when one changes 'wrap' option;
 - save dot files filter state in vifminfo (thanks to Daniel Dettlaff, a.k.a.
   dmilith).

Major fixes:
 - building on FreeBSD and OS X (thanks to Daniel R., a.k.a. r1chelt, and
   Daniel Dettlaff, a.k.a. dmilith);
 - various changes in configuration using autotools;
 - removed using of libtool in build process on *nix-like systems;
 - vifminfo file update on Windows (broken in 0.7.4b);
 - various issues with displaying wide characters (e.g. Chinese);
 - ctrl-W H/J/K/L shortcuts and less-like view;
 - issues with calling Vim on :help command.  Thanks to filterfalse.

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

April 22, 2013
==============

vifm v0.7.5 beta testing has started
------------------------------------

New version adds one major feature (parsing of escape codes), set of
improvements for existing ones and fixes for bugs.  There are also some
changes in build system and new extra files bundled with vifm.

The beta stage will last about two weeks.  In case any bugs are found
during this period, another beta version will be released.

Main changes:
 - removed using of libtool in build process on *nix-like systems;
 - added parsing of escape codes for the preview pane and less-like view;
 - added expand() builtin function;
 - added Gentoo ebuild and sample color schemes;
 - added macros that are expanded to register's content;
 - added dynamic loading of xlib;
 - added 'shortmess' option;
 - fixed build issues on FreeBSD and OS X systems;
 - fixes for redrawing and searching in less-like mode.

More detailed list of changes.

Configuration:
 - added --without/[with]-dyn-X11 flag to the configure script to control
   static/dynamic linking against libX11 library.  Thanks to Hendrik Jaeger
   (a.k.a. henk) for the idea;
 - don't use libtool in build process on *nix platforms (thanks to Merovius).

Documentation:
 - slightly updated plugin related documentation.

Macros:
 - added macros that are expanded to register's content (thanks to Florian
   Baumann, a.k.a. derflob).

:set command and options:
 - added 'shortmess' option and its first flag: "T" to shorten long status-bar
   messages (thanks to ranousse);
 - added "perms" sorting key on *nix (proposed by Daniel Dettlaff, a.k.a.
   dmilith);
 - added new type of option (charset) and used it for 'cpoptions' and
   'shortmess' options;
 - made 'slowfs' option actually work on OS X (thanks to Daniel Dettlaff,
   a.k.a. dmilith).

Color scheme related changes:
 - added sample color schemes (proposed by Daniel Dettlaff, a.k.a. dmilith);
 - don't fallback to default colors on try to switch to a colorscheme, which
   is not supported by terminal.

TUI (Text User Interface):
 - added parsing of escape codes in the preview pane;
 - added parsing of escape codes in explore (less-like) mode;
 - don't redraw file list for explore window on resize;
 - less updates for window in explore mode on resize.

Menus and dialogs:
 - changed the way title of the permissions dialog is composed.

Command-line mode related changes:
 - allowed exclamation mark for the :sync command (to force synchronization
   of cursor position when used without arguments);
 - don't store last command-line command for the dot normal mode command
   between sessions.  Also it doesn't depend on command-line history anymore
   and can be used with completely disabled history;
 - made :execute process its arguments just like :echo command (thanks to
   Daniel Dettlaff, a.k.a. dmilith, which made me discover old behaviour).

Other changes:
 - added Gentoo ebuild.  Thanks to Oleg Gordienko (a.k.a. gordio);
 - added expand() builtin function to expand macros (thanks to Sebastian
   Cyprych for the use case);
 - less-like mode now highlights multiple matches in a line;
 - less-like mode is now updated immediately when one changes 'wrap' option;
 - save dot files filter state in vifminfo (thanks to Daniel Dettlaff, a.k.a.
   dmilith).

Major fixes:
 - building on FreeBSD and OS X (thanks to Daniel R., a.k.a. r1chelt, and
   Daniel Dettlaff, a.k.a. dmilith);
 - various changes in configuration using autotools;
 - removed using of libtool in build process on *nix-like systems;
 - vifminfo file update on Windows (broken in 0.7.4b);
 - various issues with displaying wide characters (e.g. Chinese);
 - ctrl-W H/J/K/L shortcuts and less-like view.

See change log for full list of changes and by whom they were suggested.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

January 21, 2013
================

vifm v0.7.4b release
--------------------

This version is a minor bugfix release.  It doesn't contain any new
features.  The release fixes more than 17 bugs found since version
0.7.4a.

Two weeks since beta version was published have passed.  Since no bugs
were reported, the beta version is now released as 0.7.4b without
any changes except version number.

Fixes in this version are related to the following subjects:
 - interaction with the screen tool (thanks to Jing Liu);
 - working with registers (old, but unreported bugs);
 - rights elevation and dot directories on Windows;
 - processing of vifminfo file (thanks to Christoph, a.k.a informationen);
 - handling of colorscheme files (thanks to Charles Kauffman);
 - displaying of CJK characters (thanks to lcj);
 - 'classify' option (thanks to Thomas Nemeth).

See change log for full list of fixes.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

January 7, 2013
===============

vifm v0.7.4b beta testing has started
-------------------------------------

This version is a minor bugfix release.  It doesn't contain any new
features.  The release fixes more than 17 bugs found since version
0.7.4a.

Because of promise not to release anything without beta-testing,
even this bugfix release has a beta stage, which should last about
two weeks. In case some bugs will be found, a second beta will be
released in a week.

Fixes are related to the following subjects:
 - interaction with the screen tool (thanks to Jing Liu);
 - working with registers (old, but unreported bugs);
 - rights elevation and dot directories on Windows;
 - processing of vifminfo file (thanks to Christoph, a.k.a informationen);
 - handling of colorscheme files (thanks to Charles Kauffman);
 - displaying of CJK characters (thanks to lcj);
 - 'classify' option (thanks to Thomas Nemeth).

See change log for full list of fixes.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

October 22, 2012
================

vifm v0.7.4a
------------

0.7.4 package contains configuration files of autotools of different
versions.  As a result it's not always possible to build vifm 0.7.4 by
running `./configure && make`.  The author is sorry about wasted time
of users spent on building vifm with partially broken build system.

Anyway this mistake has also a good point.  0.7.4a fixes several bugs,
some of which are related to new features.

See change log for full list of fixes.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

October 18, 2012
================

vifm v0.7.4
-----------

0.7.4 is a minor release, which improves existing features as well as adds
some new ones.

There are two main directions in which improvements were made.  One of them
is TUI, which now has support of multiple columns and ls-like view as well as
customizable file name decoration (prefix and suffix).  The second one is
connected with command interpreter, which now supports builtin functions,
conditional operators and conditional execution of commands
(using if-else-endif statements).  Additionally, vifm's memory footprint was
made smaller and running of programs associated with files made smarter
(won't stop until existing program is found).

Main changes:
 - new multicolumn view;
 - new ls-like view (see 'lsview' option) and related keys for it;
 - prefixes and suffixes of files of different types are configurable now;
 - smarter handling of file associations (now vifm will try to find existing
   program);
 - some basic means to do scripting (if-else-endif statements, builtin
   functions, comparison operators);
 - reduced history memory consumption;
 - better configure script, which now checks more stuff (and does it in a
   more accurate way) needed to build vifm.

More detailed list of changes.

Configuration:
 - removed compile-time compatibility mode (the compatibility-mode switch),
   now "f" flag in 'cpoptions' does the same;
 - added --without/[with]-X11 configure script option;
 - configure script now checks much more then before;
 - better make files (thanks to Hendrik Jaeger).

Only on Windows:
 - replaced gl normal mode mapping for Windows with gr because of conflict
   (with 'lsview');
 - allow paths in :file[x]type command that contain spaces to be doublequoted
   on Windows.

Normal and visual modes related changes:
 - added Ctrl-W H/J/K/L normal mode keys;
 - added gh, gj, gk and gl keys for normal and visual modes;
 - added 0, ^ and $ keys for normal and visual modes, which also work as
   selectors in normal mode.

Command-line mode related changes:
 - added Ctrl-T handling in command line to swap characters;
 - added Meta-. handling in command line to paste last parts of previous
   commands;
 - added :echo command;
 - added :if, :else and :endif commands;
 - added support for `==` and `!=` operators;
 - added :normal command;
 - added mapping commands for view and menu modes;
 - changed relative path base for :split and :vsplit commands;
 - expand macros for user defined commands.

:set command and options:
 - added 'viewcolumns' local option to control view columns;
 - added 'lsview' option to control ls-like view look;
 - added 'dotdirs' option to control visibility of "../" directory;
 - added 'classify' option to set prefixes and suffixes for different file
   types;
 - added %E 'statusline' option macro, which means size of all selected files
   or current file, if no files are selected;
 - added "t" flag to 'cpoptions' option (replaces compile-time compatibility
   mode).

Completion:
 - added completion for :set option= even for options without variants;
 - complete only directory names for :split and :vsplit commands;
 - escape pipe character during :file completion;
 - complete :set for short and full option names like Vim does (e.g. 'so'
   should be expanded to 'sort', not only 'scrolloff').

TUI (Terminal User Interface):
 - added status bar messages for :apropos, :find and :locate commands;
 - flicker less on :restart command;
 - don't show Ctrl-C part in information message boxes where it doesn't make
   sense;
 - reduce delay between terminal resize and TUI redrawing;
 - fixed background bold (light) colors in linux native console.

Color scheme related changes:
 - added light versions of color names.

Key bindings:
 - don't pause on '0' after Ctrl-W (count cannot start with zero);
 - multiply counts in front and in the middle of commands with Ctrl-W (as Vim
   does);
 - multiply counts in front of command and its selector (as Vim does).

Other changes:
 - added support for builtin functions and filetype() as the first one;
 - check current view of other pane on leaving FUSE mount directory an don't
   unmount if that file system is still in use;
 - try the rest of the programs for an association when the default one isn't
   found;
 - reduced memory consumption of view histories.

And fixes of bugs and memory leaks.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

June 23, 2012
=============

vifm v0.7.3a
------------

It happens some bugs are discovered just after making a new release.  And it
happened with vifm 0.7.3, which was tested, but apparently not enough.  So
0.7.3a is a bugfix release, which contains fixes for one serious bug and
several small ones as well as adds some more information to the documentation
and very small enhancements.

If you would like to be notified about future releases of vifm or some
important news related to vifm by email, consider subscribing to recently
created vifm-announce@lists.sourceforge.net read-only mailing list.  You can
do this by following this link.

Though this is a bugfix release it has some changes since v0.7.3 that should
be mentioned:

Completion:
 - better completion for :colorscheme command.

Documentation:
 - added a section about color schemes to the documentation;
 - documented that %m, %M, %s, %S and %i have bigger priority than &;
 - documented that %m, %M, %s, %S and %i are mutually exclusive;
 - documented treating of whitespace around option names in :set command.

:set command and options:
 - allowed whitespace after option name in :set command;
 - added checks for correct value of 'tabstop' and 'timeoutlen' options;
 - reset 'columns' and 'lines' options to real number of columns;
 - reset value of 'scrolloff' option to zero on attempt to assign a negative
   value to it;
 - faster execution of `:set sort=foo sortorder sortnumbers` in vifmrc.

TUI (Terminal User Interface):
 - faster redrawing of statusbar with "-- VISUAL --" message after "Press
   Enter" message.

Command-line mode related changes:
 - expand tilde in the second argument of :colorscheme command;
 - forbid relative paths in :colorscheme command until vifm is completely
   loaded;
 - pass range given to alias to an aliased command.

Performance:
 - faster Ctrl-W x, Ctrl-W o, Ctrl-W s, Ctrl-W v, Ctrl-W =, Ctrl-W <,
   Ctrl-W >, Ctrl-W -, Ctrl-W +, Ctrl-W |, Ctrl-W _;
 - faster redraw on terminal resizing;
 - made file filtering using regular expressions work faster (matters when
   directory contains several thousands files);
 - draw quickview on startup only once.

Normal and visual modes related changes:
 - show correct number of selected files in visual mode after n and N keys.

And bug fixes.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

June 3, 2012
============

vifm v0.7.3 release
-------------------

If you would like to be notified about future releases of vifm or some
important news related to vifm by email, consider subscribing to recently
created vifm-announce@lists.sourceforge.net read-only mailing list.  You can
do this by following this link.

Changes since v0.7.2 in general:
 - removed support of moving items in the :file menu;
 - added description of :file programs;
 - improved messages in the TUI as well as it's redrawing in various
   scenarios;
 - changed behaviour of Enter key on a selected directories;
 - better work with PATH environment variable.

Changes since v0.7.2 in details:

Completion:
 - added completion for :copy, :clone, :move, :alink, :rlink and :rename
   commands;
 - added completion for :touch and :mkdir commands;
 - added completion for :split and :vsplit commands.

TUI (Terminal User Interface):
 - added Ctrl-L handling in file info (Ctrl-G) mode;
 - less blinking of the screen in various scenarios;
 - replace home directory with the tilde in terminal title;
 - corrected status bar messages about failed search;
 - better handling of multiline messages in status bar.

Normal and visual modes related changes:
 - leave leading zeros on Ctrl-A/X commands;
 - added "Y" key to visual mode as an alias for "yy";
 - open selected directories with l or Enter keys.

Configuration:
 - added --enable-desktop-files (enabled by default) configure option.

Only on Windows:
 - allow bookmarking of host names on Windows (e.g. //ZX-SPECTRUM);
 - show host's root in history menu (e.g. //ZX_SPECTRUM);
 - made :fileviewer command work.

Macros:
 - added macros expansion for :touch and :mkdir commands;
 - added %i macro to completely ignore output of external commands.

Command-line mode related changes:
 - added :finish command to use in sourced scripts;
 - improved :let command (allowed using of expressions at the right side of
   the statement);
 - properly handle when user alters PATH environment variable using :let
   command;
 - added description for :filetype, :filextype and :fileviewer commands;
 - save last typed but not executed command in command-line mode (this also
   includes searches).

Menus and dialogs:
 - removed possibility of moving items in :file menu;
 - added size of file in bytes in file info mode (Ctrl-G);
 - added q key to close menus.

Other changes:
 - added notes about automatic FUSE mounts to the documentation;
 - now vifm removes scripts (`$VIFM/scripts/**`) from PATH for :shell command;
 - use common search history for normal, visual and menu modes;
 - increased directory modification stamp precision on Unix.

Plus bug fixes of course.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

February 19, 2012
=================

vifm v0.7.2
-----------

Changes since v0.7.1 :set command and options:
 - added 'rulerformat' option;
 - added 'statusline' option;
 - added 'columns' and 'lines' options;
 - added 'trashdir' option (by Chris Skalenda).

Command-line mode related changes:
 - added optional argument for the :sync command;
 - added support for running :cmap, :nmap and :vmap with one argument;
 - added recursive mode for :rename command;
 - added :let and :unlet commands to work with environment variables;
 - added :windo and :winrun commands;
 - never change active view on :restart command;
 - allowed using of macros with :clone command.

Angle bracket notation:
 - added <esc>.

Only on Windows:
 - added embedded icon;
 - added file properties dialog;
 - show "Sorting directory..." message only for big directories;
 - change console title;
 - made determining of home directory more intelligent;
 - made 'sortnumbers' work;
 - avoid unnecessary directory view updates (like after C key);
 - allow using of backward slashes in :rename command;
 - let :s and :gs filename modifiers change slash type;
 - properly quit vifm on console closing;
 - added :u filename modifier for UNC computer name;
 - added file attributes in status bar and file info view.

Normal and visual modes related changes:
 - added ctrl-w p, ctrl-w b and ctrl-w t normal mode keys.

Configuration:
 - added $VIFM and $MYVIFMRC environment variables;
 - now vifm will add all subdirectories of ~/.vifm/scripts to PATH;
 - better check for old-style color schemes file.

For Vim:
 - added g:vifm_exec_args variable for the plugin.

Other changes:
 - added --select command line argument;
 - added --remote command line argument;
 - added support for character classes in globals;
 - restore terminal title on exit;
 - reset dot and filename filters if they hide bookmarked file;
 - made vifm react faster on external changes.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

November 15, 2011
=================

vifm v0.7.1
-----------

Major changes since v0.7.0:
 - changed meaning of :split command (so replace it with :vsplit in your
   vifmrc);
 - added backgrounding of :copy, :move, :delete, ga and gA commands;
 - added horizontal splitting and keys to control size of the panes;
 - added less-like view mode;
 - made some changes to the Vim plugin;
 - windows version was made much more usable.

Changes in details

:set command and options:
 - added 'scrollbind', 'wrapscan', 'incsearch', 'cpoptions', 'laststatus' and
   'tabstop' options;
 - make 'ignorecase' and 'smartcase' affect f and F;
 - don't use position in the view on ' key, when 'autochpos' is off.

Angle bracket notation:
 - added support for more angle bracket notations in mappings (<bs>, <tab>,
   <s-tab>, <home>, <end>, <left>, <right>, <up>, <down>, <pageup>,
   <pagedown>, <del>, <delete>, <m-a>, <m-b>, ..., <m-z>);
 - added <s-f1>, ..., <s-f12>, <a-f1>, ..., <a-f12>, <c-f1>, ..., <c-f12>,
   only for Windows;
 - added <a-X> as synonyms for <m-X> (where X is a key);
 - added angle bracket notation <c-s-X> and <s-c-X> as synonyms for <c-X>;
 - added Ctrl + Alt + letter combinations, only for Unix.

Command-line mode related changes:
 - added :split! to toggle between only and split view;
 - added :file to quick run one of associated commands;
 - added backgrounding of :copy, :move and :delete commands;
 - added :delete!;
 - added :execute, :source commands;
 - added support for using environment variables as :cd or :pushd arguments;
 - added support for :substitute command without arguments;
 - added notation to run internal vifm commands from user defined commands;
 - allowed exclamation mark for :view command (to prevent view closing);
 - allowed question mark for :mark command (to prevent bookmark overwriting).

Completion:
 - added completion of environment variables (:cd, :pushd, :! and :!!).

Normal and visual modes related changes:
 - added '(' and ')' keys for normal and visual modes;
 - added Ctrl-A and Ctrl-X keys (normal and visual modes);
 - added e key for normal mode;
 - made i key work in visual mode;
 - made ga and gA work in background;
 - better cW command;
 - clean selection after i key in normal mode.

Menus and dialogs:
 - added year in the file info dialog (on Ctrl-G);
 - added zh, zl, zH and zL keys for the menus (horizontal scrolling);
 - added ZQ and ZZ keys to close menus and dialogs.

TUI (Terminal User Interface):
 - added horizontal splitting of views (changed :split command, added :vsplit
   command, changed Ctrl-w s mapping);
 - added Ctrl-w j and Ctrl-w k keys;
 - added Ctrl-w <, Ctrl-w >, Ctrl-w + and Ctrl-w - keys;
 - added Ctrl-w | and Ctrl-w _ keys.

File cloning:
 - don't change file extension on cloning;
 - move cursor to clone of current file after file cloning;
 - smarter file name generation on cloning;
 - made C command accept count.

Only on Windows:
 - added kind of portable mode on Windows;
 - make macros expand to paths with forward slashes on Windows;
 - better check if directory was changed on Windows;
 - show all shares on Windows (including private ones);
 - fixed a lot of bugs on Windows.

For Vim:
 - added g:vifm_exec variable for the plugin;
 - added ftdetect plugin for vim (now there is no need for modelines or
   changing .vimrc);
 - allowed arguments for plugin's commands;
 - added more tags to the documentation in vim-help format.

Other changes:
 - added Ctrl-n (j) and Ctrl-p (k) keys;
 - added view mode (see documentation);
 - added -c and + command line arguments;
 - added support of [count] for / and ?;
 - don't clear terminal title on exit;
 - warn about symbolic links are not available;
 - don't show current file as selected after executing a :command and resizing
   terminal while it works;
 - show progress message (e.g. on :copy) after terminal is resized;
 - made some messages about operations more correct.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

September 29, 2011
==================

vifm v0.7.0 is out!
-------------------

And as it was promised vifm is back on Windows!

This release breaks compatibility a little, which was done intentionally to
make vifm more vi-like.  I hope that won't make too much discomfort for users,
at least I tried to reduce discomfort as much as I can.  In particular, an
utility program named vifmrc-converter is shipped with vifm now.  It's main
purpose is to automatically convert configuration files (vifmrc, vifminfo,
startup and colorschemes files) to new format.  You don't have to run it by
yourself, vifm will do this for you after asking some questions at first
startup.

Here are the main changes by categories.

Configuration:
 - changed format of ~/.vifm/vifmrc and ~/.vifm/vifminfo files;
 - removed support of startup file, all commands will be automatically moved
   to the vifmrc file;
 - added support for multi line commands in the vifmrc (ex-startup) file;
 - now users can place scripts for vifm to ~/.vifm/scripts, vifm modifies its
   PATH environment variable to let user run scripts without specifying full
   path;
 - now vifm also accepts paths to files as the startup arguments and
   --no-configs option.

Normal and visual modes related changes:
 - added gf, al, rl and cl commands for dealing with symbolic links;
 - added gu and gU commands (and their variations);
 - added gs command to work with t selection like gv with visual mode
   selection;
 - made C handle selection, check read permission and work in visual mode;
 - changed the way l key handles selection and made it work in visual mode.

Command-line mode related changes:
 - removed :cmdhistory command, use :history cmd or ":history :" instead;
 - added :noremap, :cnoremap, :nnoremap, :vnoremap, :unmap, :cunmap, :nunmap
   and :vunmap commands;
 - added :filetype, :filextype and :fileviewer commands;
 - added :find and :grep commands;
 - added :substitute and :tr commands;
 - added :clone, :copy, :move, :alink and :rlink commands;
 - added :chmod, :chown, :mkdir and :touch commands;
 - added :mark, :delmarks, :comclear, :highlight, :restart and :messages
   command;
 - documented command line keys and marked which :commands accept ranges;
 - now vifm understands user name after tilde in paths;
 - let user use short forms of user-defined commands with "!".

Completion:
 - added completion for co, cg, cw and cW commands;
 - sort completion items;
 - shift-Tab command line key to perform completion in reversed order;
 - added Ctrl-_ command-line key to reject completion.

Macros:
 - added filename modifiers (:p, :~, :., :h, :t, :r, :e, :s and :gs);
 - added %S and %M macros;
 - added macros that are expanded to paths enclosed in double quotes (%"c,
   %"C, %"f, %"F, %"b, %"d and %"D);
 - handle %m, %M, %s and %S in the :! command.

:set command and options:
 - removed 'savelocation' option. Use :set vifminfo+=dhistory;
 - added 'wildmenu', 'ignorecase', 'smartcase', 'hlsearch', 'vifminfo',
   'shell', 'vixcmd', 'scrolloff', 'timeoutlen', 'autochpos','gdefault',
   'slowfs' options;
 - added abbreviations for options;
 - added support for using ':' instead of '=';
 - support for ':set' and ':set all' commands;
 - made ':set option' equivalent to ':set option?' for all types of options
   except boolean;
 - made 'history' option control search, command line and prompt histories;
 - better 'sort' option (support by multiple sort keys, added iname key);
 - made 'vicmd' and 'vixcmd' understand & at the end;
 - :set command now understands & (reset option to its default value).

Color scheme related changes:
 - all color schemes are stored under the ~/.vifm/colors/ directory, each
   color scheme in its own file;
 - color scheme file is a list of commands. All command-line commands are
   handled, but only :highlight commands are really useful here;
 - added colors for current top line, other top line, status line, error
   messages in the status bar, broken links and FIFO files;
 - now maximum number of color schemes is unlimited even on 8-color terminals
   (there was a limit of 5 color schemes for such terminals before).

Only on Windows:
 - gl normal mode key;
 - UNC names support;
 - :volumes command.

For Vim:
 - added g:vifm_term variable for the plugin;
 - added vifmrc syntax and filetype files for Vim;
 - tags for some items in the help file for Vim.

Other changes:
 - let user go through directories with execute access, but no read access;
 - made filetype understand star as in globals;
 - removed duplicates from command and directory history;
 - made directory, command line and search histories as well as dirstack and
   registers persistent (when 'vifminfo' option contains appropriate value);
 - show search matches in the menus;
 - now keys can be used in mappings and mapping of keys like y, d or m works
   right;
 - modify terminal emulator title;
 - don't quit when terminal is too small (print message and ignore input);
 - fixed bugs.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

July 20, 2011
=============

vifm-0.6.3
----------

Main changes in vifm-0.6.3:
 - added another format for filetype (FUSE_MOUNT2);
 - added %CLEAR FUSE mount parameter.  See vifmrc for details;
 - added %c and %C macros (current file of current and other directories, not
   selected file or files);
 - added :rename command (opens vi to let you edit names for selected file or
   files);
 - added undo list (u, Ctrl-R and :undolist commands; 'undolevels' option);
 - added small FAQ;
 - added gA command (like ga, but forces update);
 - added whole line comments (can be useful in startup file);
 - added :dirs command (shows directory stack);
 - added 'sortnumbers', 'followlinks', 'fusehome', 'confirm' and 'history'
   options;
 - added dialog to ask user about backwards range in command;
 - added some vi like keys for menus, dialogs and visual mode;
 - added 'savelocation' option (start vifm in the last visited directory)
   which is off be default thus returning old behaviour when vifm is started
   with no argument;
 - added gv command for visual mode;
 - enter key in visual mode will leave it saving selection;
 - now location of panes is saved in ~/.vifm/vifminfo instead of
   ~/.vifm/vifmr;
 - now builtin keys can be remapped;
 - don't replace escape sequences for :! and :!! commands;
 - more vi like completion and history in command line and search;
 - some improvements for :filter command;
 - some improvements for command ranges;
 - now ranges modify %f macro for user defined commands;
 - made f and F work with wide characters;
 - made option parser handle quotes;
 - rename files in Trash (to avoid name conflicts);
 - don't terminate background processes on vifm exit;
 - remove files that are in the Trash on :empty command from all registers;
 - don't ignore Ctrl-Z;
 - don't clear screen on shellout;
 - updated Vim plugin;
 - fixed a lot of bugs;

See ChangeLog for details.  Also see THANKS file that was added in this
release.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

June 19, 2011
=============

vifm-0.6.2
-----------

This release fixes some bugs and adds several commands for different modes.

Main changes:
 - added map menus (run :cmap, :vmap, :nmap commands without arguments);
 - added :cmdhistory command;
 - added 'fastrun' option;
 - added o and O keys for Visual mode (go to other end of selection);
 - added gv Normal mode command;
 - added support for spaces and functional keys in mappings (<space> and
   <f0> - <f63>);
 - added mimetype to fileinfo dialog;
 - added %b command macro;
 - implemented :yank and :colorscheme commands;
 - made filetype menu editable;
 - restore SIGINT (Ctrl+C) default behaviour on shellout;
 - replace escape sequences in quick view output with ^foo;
 - give options if a file already exists in destination directory;
 - unmount all FUSE mounts on exit;
 - more verbose version information;
 - added Ctrl-C key handling to error message dialog;
 - use file command when GTK+ and libmagic are disabled;
 - better error messages;
 - use ga command results to sort by size;
 - fixed paths in config.c to work with non standard install prefix;
 - fixed several bugs with command completion and terminal resizing.

See ChangeLog for details and AUTHORS for information about authors.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

June 11, 2011
=============

Vifm-0.6.1 is available.
------------------------

Windows version remains unchanged for now.  I'm planning to use one code base
for both Unix and Windows platforms and it would take some time to do that.

Major changes since 0.5:
 - added support for user mappings;
 - added file selectors (like motions and text-objects);
 - improved sort dialog;
 - added filetype detection using GTK+ or libmagic (:file);
 - added directory stack (:pushd, :popd);
 - added completion for :! and :!! commands;
 - added custom file viewers (:view);
 - added startup file;
 - better utf8 support;
 - added :set command and options.

See ChangeLog for details.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

August 7, 2009
==============

Vifm-0.5 is available.
----------------------

This release is mainly user contributed patches and a new port for Windows.
A filetype setting was added to allow the mounting of files with fuse-zip and
other filesystems based on fuse.  The :com input was changed to accept wide
characters.  The Windows port is missing some of the features of the Unix
version but it is useful and stable enough for an initial release.  The
following commands were added in the Windows port:
 - :copy;
 - :move;
 - :volume - list mounted volumes.
