xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit ac8d68f0e7b9c37681ac5ab95804c5b0543544db

Update NEWS file
Author: xaizek
Author date (UTC): 2016-01-16 21:03
Committer name: xaizek
Committer date (UTC): 2016-01-16 21:03
Parent(s): d152efa3274bda0863857da447f85fc9ea102694
Signing key:
Tree: b29f7b6fa0d64b88aaf594799d7b209570b882be
File Lines added Lines deleted
NEWS 246 0
File NEWS changed (mode: 100644) (index dcf3c4a0b..c4451427b)
1 January 17, 2016
2 ================
3
4 vifm v0.8
5 ---------
6
7 New minor version delivers primarily various small improvements of different
8 kinds. There is also improvement of navigation via named bookmarks (or tags),
9 which can ease keeping track of what is where, and an ability to apply
10 settings to specific directories or sub-trees (via combination of autocommands
11 and local options).
12
13 Thanks to everyone who was reporting issues during beta period.
14
15 Main changes:
16 - added local options, which work until directory change;
17 - added named bookmarks (paths are associated with tags);
18 - added autocommands (with DirEnter event);
19 - added ability to sort by regexp-extracted part of file name;
20 - added builtin directory preview (similar to `tree`);
21 - added a way to communicate menu contents to Vim quickfix;
22 - added "more" mode that is used to handle status bar content that doesn't fit
23 on the screen;
24 - IPC got new (safe) implementation with listing/targeting of active instances,
25 it's enabled by default again;
26 - updating local view settings from vifmrc now affects both panes (:windo is
27 not necessary);
28 - more predictive cursor updates on directory reload;
29 - improvements related to expression and command parsing.
30
31 More detailed list of changes.
32
33 Command-line mode:
34 - added :setl[ocal] and :setg[lobal] commands to manage values of local options
35 that are specific to current directory and are reset on directory change,
36 similar to local options of Vim;
37 - added :pu[t] command that inserts files into current directory (thanks to
38 mvucBmM0);
39 - added :winc[md] command-line command (thanks to fogine);
40 - added exclamation mark to :shell to suppress spawning new teminal multiplexer
41 pane (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu).
42
43 :set command and options:
44 - added :set foo+=bar syntax for string options (append value);
45 - added 'deleteprg' option, which specifies program to run on files that are
46 permanently removed;
47 - added 'dirsize' option to control how size of directories is displayed in
48 file views. This enables one to see number of files in a directory rather
49 than its size (thanks to Martin Fischer);
50 - added optional %u and %U macros to 'findprg', 'grepprg', and 'locateprg' that
51 allow immediate redirection of command output into custom view without
52 opening a menu (thanks to filterfalse);
53 - added 'iooptions' option to configure file system operations. Contains only
54 "fastfilecloning" for btrfs so far (thanks to aleksejrs);
55 - added special treatment for "*" as value of 'slowfs', which might be useful
56 in case of very slow handling of requests to mounts enumeration (patch by
57 Cosmin Popescu, a.k.a. cosminadrianpopescu);
58 - added handling of "%u" in trash specification on *nix, which is replaced with
59 real user ID (thanks to Regis);
60 - allow 'shell' to specify a shell argument on *nix (thanks to loongw);
61 - added 'sortgroups' option and "groups" sorting key, which allow sorting by
62 parts of file names (thanks to aleksejrs);
63 - added 'title' option to control whether title of terminal should be set.
64 Enabled by default if old title can be restored (thanks to Svyatoslav Mishyn,
65 a.k.a. juef);
66 - make "p" in 'tuioptions' affect padding in quick view and view mode;
67 - changed 'fusehome' default from temporary directory to data directory (that
68 is $XDG_DATA_HOME/.local/share/fuse/ or $VIFM/fuse/ depending on which parent
69 directory exists, the second one exists by definition, but first might not)
70 (thanks to aleksejrs and to Hendrik Jaeger, a.k.a. henk);
71 - changed default value of 'trashdir' on *nix again, this time to
72 "%r/.vifm-Trash-%u,$VIFM/Trash,%r/.vifm-Trash". This way it's safer for
73 privacy, although using %r is not very safe in general (thanks to Regis).
74
75 Configuration:
76 - make :set, :filter and :normal zo (and alike) in vifmrc affect all views,
77 thus obsoleting use of :winrun or :windo for this purpose (they still work,
78 the new way is a simpler and more obvious one). This is related to commands
79 executed during vifmrc processing (not those in the right-hand side of
80 mappings, commands, etc.);
81 - automatically create ~/.vifm/scripts containing small README file if the
82 directory doesn't exist on startup (thanks to fogine).
83
84 Core:
85 - added autocommands (DirEnter event and :au[tocmd] command) (thanks to
86 filterfalse).
87
88 File operations:
89 - added retry/ignore/abort prompt for file/directory removal when 'syscalls'
90 is on (thanks to Robert Sarkozi);
91 - make use of file cloning feature of btrfs when possible and enabled in
92 'iooptions' (thanks to aleksejrs);
93 - preserve file timestamps on copying files with 'syscalls' on (thanks to
94 mvucBmM0);
95 - employ inotify on GNU/Linux for more precise watching directories for
96 changes;
97 - copy timestamps and permissions on merging directories (thanks to willemw12).
98
99 Navigation:
100 - added named bookmarks (paths are associated with tags). This adds :bmark,
101 :bmarks, :bmgo and :delbmarks command-line commands. Also there is new
102 "bmarks" value for 'vifminfo' (thanks to Schmalzhaf Stefan).
103
104 Normal and visual modes:
105 - accept [count] for "h" and "gh";
106 - added zr normal mode key to reset local filter (thanks to filterfalse);
107 - ctrl-W | and Ctrl-W _ now can set window size to given count (thanks to
108 filterfalse).
109
110 Key bindings:
111 - remapping of builtin keys that are followed by selectors (e.g.
112 `:nnoremap d y`) (thanks to mvucBmM0).
113
114 Color schemes:
115 - changed default colorscheme to invert colors of the current line.
116
117 Documentation:
118 - documented %= for 'statusline' and 'rulerformat';
119 - make --select option more prominent in documentation (thanks to Svyatoslav
120 Mishyn, a.k.a. juef);
121 - documented difference between paths in menu with and without trailing slash
122 (thanks to filterfalse).
123
124 Macros:
125 - added %pc macro that splits preview command in two pices: preview command and
126 clear command (thanks to Tomek K., a.k.a. TomiCode).
127
128 Menus and dialogs:
129 - added B key to menus, which acts like b, but creates unsorted (very custom)
130 view (thanks to filterfalse);
131 - added "v" key to menu mode that loads current contents into quickfix list of
132 editor (Vim compatible one is assumed) (thanks to filterfalse);
133 - added handling of dd in :trashes, :trashes? and :lstrashes, which either
134 deletes an item in trash or empties trash (thanks to Svyatoslav Mishyn,
135 a.k.a. juef);
136 - somewhat more informative error titles on issues during file operations;
137 - provide conflict resolution options in a dialog rather than on the
138 command-line, which is hard to read with so many options;
139 - expand "~" in menus on navigation.
140
141 Packaging:
142 - removed vifmrc-converter. It's been around for four years and not needed any
143 more (thanks to filterfalse);
144 - removed contents of autoconf.sh, autoreconf covers what was there (there is a
145 notice in that script now about it just in case) (thanks to Hendrik Jaeger,
146 a.k.a. henk);
147 - added --with-sanitize=basic|thread|leak option to configure script;
148 - added missing script that's necessary for %s macro in GNU screen. Was lost
149 for a long time;
150 - work around compilation on systems where MAX_ARG_STRLEN is defined, but
151 unusable (thanks to Marcin Juszkiewicz, a.k.a. hrw, Michel Normand and
152 Michael Vetter, a.k.a. jubalh);
153 - put right-hand side of user-defined commands into separate scope of
154 if-else-endif expressions. This prevents affecting of regular input by
155 malformed user-defined command.
156
157 Scripting:
158 - added :elseif command (thanks to filterfalse);
159 - added &option syntax for :let command;
160 - added && and || operators to expression parser (thanks to filterfalse);
161 - added getpanetype() builtin function that retrieves type of current pane
162 (thanks to filterfalse);
163 - added layoutis() builtin function that answers queries about current
164 interface configuration (thanks to fogine);
165 - added paneisat() builtin function that answers queries about current pane
166 position (thanks to fogine);
167 - added inline comments to allow less verbose commenting in configuration;
168 - rewrote expression parser to prevent side-effects from occurring until syntax
169 is checked.
170
171 TUI (Text User Interface):
172 - added match numbers to search messages on status bar (patch by Cosmin
173 Popescu, a.k.a. cosminadrianpopescu);
174 - added dynamic view column alignment (specified by "*", just like "-" for left
175 alignment) (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu);
176 - added "more" mode that is used to handle status bar content that doesn't fit
177 on the screen (thanks to Bruce Hunsaker, a.k.a. hunsakerbn, and Svyatoslav
178 Mishyn, a.k.a. juef);
179 - added builtin directory preview (thanks to Damian Ariel Perticone and
180 Alexandre Viau);
181 - added "fileext" sorting key, which sorts files by extensions and directories
182 by name (patch by Cosmin Popescu, a.k.a. cosminadrianpopescu);
183 - added "nitems" sorting, which sorts by number of items in a directory (thanks
184 to filterfalse);
185 - added "nlinks" sorting key to display number of hard links to a file on *nix
186 systems (thanks to filterfalse);
187 - normalize surrounding spaces in menu and dialog titles;
188 - lower minimum supported terminal width and height from 30x10 to 20x5;
189 - update cursor position on file disappearing in more predictable way. Use the
190 closes file to the previously active one that still exists (thanks to
191 ranousse);
192 - display lower bound on item count in status bar progress messages (e.g. on
193 :grep).
194
195 Important fixes:
196 - assume UTF-8 sequences can be broken (thanks to Svyatoslav Mishyn, a.k.a.
197 juef);
198 - made setting title inside terminal multiplexers (when terminal type is
199 "screen*") work;
200 - check file system sensitivity on OS X (thanks to loongw);
201 - fixed startup on Windows 10 (thanks to th1rdey3 and Robert Sarkozi);
202 - fixed swapped absolute/relative link creation on :alink/:rlink commands
203 (patch by MadMaverick9);
204 - multiple fixes for custom views (thanks to filterfalse);
205 - more careful treating of files with colons in their names for menus and
206 custom views (thanks to aleksejrs);
207 - fixed ranges for :yank, 0.8 regression (thanks to Marius Schmidl);
208 - fixed crash on copy-like operations that move several files into subdirectory
209 of another view (thanks to Marius Schmidl);
210 - fixed creation of intermediate directories on merging directories (thanks to
211 willemw12).
212
213 Vim-plugin:
214 - added set of :*Vim commands to vifm run from Vim plugin, which overrule
215 initial :*Vifm command behaviour (thanks to Ross Hadden, a.k.a. rosshadden);
216 - changed plugin to do not depend on location of vifm. g:vifm_home is ignored
217 from now on (thanks to aleksejrs).
218
219 Only on Windows:
220 - display directory size on Windows more correctly;
221 - improvements in running commands with special characters and/or spaces
222 (thanks to Stas Malavin).
223
224 Other changes:
225 - added handling of "-" command-line argument specified in place of directory
226 path as instruction to read list of files from stdin;
227 - added --server-list and --server-name command-line options that enumerates
228 names of currently running vifm servers and sets name of target/this instance
229 respectively;
230 - added optional argument for --logging parameter that specifies path to
231 startup log (thanks to Cosmin Popescu, a.k.a. cosminadrianpopescu);
232 - invalidate directory size (calculated via ga/gA) if noticed that directory
233 was changed. This affects all parent directories as well, way easier to see
234 what needs recalculation after file moving/removal;
235 - warn about --remote command being disabled at build-time (thanks to
236 Svyatoslav Mishyn, a.k.a. juef);
237 - do not finish argument parsing after finding --help or --version, continue
238 and validate the rest of command-line (thanks to Svyatoslav Mishyn, a.k.a.
239 juef);
240 - display incomplete file name on rename instead of failing with error on
241 Unicode conversion issues.
242
243 See change log for the full list of changes and by whom they were suggested.
244
245 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
246
1 247 January 02, 2016 January 02, 2016
2 248 ================ ================
3 249
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master