.gitignore: add '*.orig' files (created by git merge)
[ranger.git] / CHANGELOG.md
blob4316a60abd7545e0ad3037311a8212d6408b3779
1 This log documents changes between stable versions.
3 # 2017-01-08: version 1.8.1
4 * Fixed `:scout` break due to incompatible change in python 3.6
6 # 2016-12-24: version 1.8.0
7 * scope.sh is now needed for the now fully scriptable image previews
8 * Overhaul of version control system integration, now with threads
9 * Fixed ranger not finding the location of w3mimgdisplay in most cases
10 * Fixed many minor bugs
11 * Added midnight-commander like multipane view, toggleable with `~` key.
12   It displays the current directory of all the open tabs next to each other.
13 * Added autodetect for 256 color support in scope.sh source code preview
14 * Added macro `%confdir` that expands to `~/.config/ranger` by default
15 * Added possibility to toggle/cycle through options with `set <option_name>!`
16 * Added `Mm`/`Ms` key to enable the linemode showing modification time
17 * Added `yt`/`dt` keys to toggle whether file is in copy/cut buffer
18 * Added `line_numbers` setting showing absolute/relative line numbers
19 * Added `Alt-Left` and `Alt-Right` key bindings to move by words in console
20 * Added previews for libreoffice files with `odt2txt`
21 * Added `preview_images_method=urxvt` option for previewing images by changing
22   the urxvt background (requires urxvt compiled with pixbuf support)
23 * Added `clear_filters_on_dir_change` option
24 * Added Travis-CI integration
25 * Changed `zi` key to toggle `preview_images` option
26 * Improved PEP8 compliance
27 * Improved documentation
28 * Improved UI by separating file path in titlebar with a space from the
29   username/hostname for quick copy&pasting by shift+double-clicking on it.
31 # 2015-10-04: version 1.7.2
32 * Fixed file name arguments passed to `sxiv` and `feh` when using `:flat`
33 * Fixed removal of empty directories when using `:rename`
34 * Fixed free disk space display on Mac OS X
35 * Fixed `examples/vim_file_chooser` to work with gvim too
36 * Fixed some other rare crashes and bugs
37 * Fixed downward mouse wheel scrolling
38 * Fixed warning about regex splits being drawn in titlebar since python3.5
39 * Really fixed `S` key binding not working when SHELL=fish
40 * Improved `doc/cheatsheet.svg`
41 * Added some entries to rifle.conf
42 * Added key bindings `pO` and `pP` which work like `po` and `pp` but queue the
43   operation in a first-in-first-out order.
45 # 2015-05-04: version 1.7.1
46 * Added `doc/cheatsheet.svg`
47 * Added `examples/rc_emacs.conf`, a config file adding emacs-like key bindings
48 * Added `env` keyword in rifle.conf
49 * Fixed `:bulkrename` command in python3
50 * Fixed `S` key binding not working when SHELL=fish
52 # 2015-04-13: version 1.7.0
53 * The default editor is now `vim` instead of `nano`
54 * Added automatic updates of tags when a file is renamed from within ranger
55 * Added `preview_images_method` which can be set to `iterm2` to use native
56   iTerm2 image previews
57 * Added `:rename_append` command to rename files without the file extension
58 * Added `:linemode` command to change the way the files are displayed
59   Try this out by pressing M followed by one of the suggested keys.
60   New linemodes can be added with `ranger.api.register_linemode()`.
61 * Added `:filter_inode_type` command to only show directories, files or links
62 * Added `:meta` command for managing custom file metadata
63 * Added `:flat` command for displaying subdirectories
64 * Added `solarized` colorscheme
65 * Added generic ability to use scope.sh for image previews
66 * Added video previews in scope.sh
67 * Added option `sort_unicode` to sort according to unicode, not ASCII
68 * `:mkdir` can now create multiple directory levels (like `mkdir -p`)
69 * `:help` (key binding `?`) is now interactive
70 * `:find` (key binding `/`) is now case insensitive by default
71 * `ranger --copy-config=all` now copies a short sample commands.py rather than
72   the full one, so that you can update ranger without having broken commands.
73   The full commands.py is still copied to `~/.config/ranger/commands_full.py`.
74 * Fixed broken copying of symlinks
76 # 2013-05-24: Version 1.6.1
77 * Added support for version control systems, see:
78   http://lists.nongnu.org/archive/html/ranger-users/2013-03/msg00007.html
79 * Added :scout command as a unified backend to :find, :search, etc
80 * Added `open_all_images` setting to remove the need for external scripts
81   to handle opening of all images in a directory at once.
82 * Now previewing with `i` uses the whole available width.
84 # 2013-02-22: Version 1.6.0
85 * Overhauled all config files.  Please update them or use the --clean switch
86 * Added `examples/` directory to source code which contains sample programs or
87   plugins that can be used together with ranger
88 * Added progress bars to copying, moving and directory loading processes
89 * Added feature to draw images inside the console using w3mimgdisplay (you need
90   to add `set preview_images true` in rc.conf)
91 * Added a plugin system like in the program `anki`, i.e. place any python file
92   into ~/.config/ranger/plugins/ and it will be imported by ranger
93 * Added a separate file launcher named `rifle` that is configured through
94   rifle.conf and is installed as a standalone program.
95   Using `ranger [filename]` from the shell for opening files is deprecated now,
96   please use `rifle [filename]` instead.
97 * Added `uq` keybinding to undo closed tabs
98 * Added :setlocal command to change settings for specific directories only
99 * Added :travel command to move more quickly to your destination
100 * Added 256 color support for scope.sh
101 * Added a real yes/no prompt for :delete command
102 * Added settings: `confirm_on_delete`, `draw_progress_bar_in_status_bar`,
103   `preview_images`, `status_bar_on_top`, `update_tmux_title`
104 * Added commands: `:mark_tag`, `:unmark_tag`
105 * Added BSD-friendly setsid implementation
106 * Added as-you-type filtering for `:filter` command
107 * Replaced `options.py` file by :set commands in rc.conf
108 * Replaced `apps.py` file with rifle.conf
109 * Improved `r` key to interface with rifle
110 * Rewritten `scope.sh` in POSIX shell
111 * Changed copying/moving code to work without GNU coreutils
112 * Changed key to untag files from `T` to `ut`
113 * Changed the flag `d` (for detached) to `f` (for fork) in program launcher
114 * Changed appearance of keybinding-hints and bookmarks
115 * Changed tabs with 4 spaces in the source code (see PEP 8)
116 * Removed ranger.core.environment class
117 * Removed settings: `colorscheme_overlay`, `draw_bookmark_borders`,
118   `init_function`, `load_default_rc`
119 * Fixed zombie process apocalypse
120 * Fixed `draw_borders=true` in combination with `padding_right=false`
122 # 2012-08-10: Version 1.5.5
123 * Ensure that detached programs continue to run when ranger is killed
125 # 2012-05-03: Version 1.5.4
126 * Added exiftool to scope.sh by default
127 * Fixed a crash when entering a directory with a unicode name
128 * Speedup in `ranger.ext.get_executables`
130 # 2012-03-05: Version 1.5.3
131 * Added --selectfile option that selects a certain file on startup
132 * Added --list-tagged-files option
133 * Added --cmd option to run commands on startup
134 * Added --profile option for additional debug information on exit
135 * Added a visual mode (activate with `V`, deactivate with Esc)
136 * Added a reversed visual mode (activate with `uV`)
137 * Added `$RANGER_LEVEL` environment variable which ranger sets to `1` or higher
138   so programs can know that they were spawned from ranger
139 * Added run flag `r` for running with root privileges (needs sudo)
140 * Added run flag `t` for running in a new terminal (as specified in $TERMCMD)
141 * Added :relink command to change destinations of symlinks
142 * Added `dc` binding for getting the cumulative size of a directory
143 * Added `autoupdate_cumulative_size` option
144 * Added `pht` binding to Paste Hardlinked subTrees (like cp -l)
145 * Improved sorting speed of signals (noticeable when caching many directories)
146 * Improved drawing speed
147 * Fixed unexpected behavior when displaying nonprintable characters
148 * Fixed :bulkrename to work with files starting with a minus sign
149 * Fixed RangerChooser example in man page
150 * Fixed crash when opening images with sxiv/feh by running `ranger <image>`
152 # 2011-10-23: Version 1.5.2
153 * Fixed graphical bug that appears in certain cases when drawing
154   characters at the right edge.
156 # 2011-10-23: Version 1.5.1
157 * Added `fm.select_file(path)`
158 * Added --choosefiles option (like --choosefile, but chooses multiple files)
159 * Fixed --list-unused-keys
160 * Fixed Zombie processes
161 * Fixed handling of filenames with undecodable bytes (unicode surrogates)
162 * Fixed crashes due to incomplete loading of directories
163 * Fixed tab completion of the command `shell`
164 * Fixed `ot` and `oT` keys in rc.conf
165 * Fixed parsing of chained commands (like in the binding `om`)
167 # 2011-10-11: Version 1.5.0
168 * Full python3.2 compatibility
169 * Added new configuration file `rc.conf` which contains a list
170   of commands that are executed on startup - mainly used for keybindings
171 * Added --list-unused-keys
172 * Added new program handlers to apps.py
173 * Added pop-up window for keychains and bookmarks
174 * Added `load_default_rc` option
175 * Fixed all known unicode issues
176 * Fixed crash when $TERM is unknown to the system
177 * Fixed scrolling in colored preview
178 * Changed the default `column_ratios` to 1/3/4 and sorting method to `natural`
179 * Changed :rename so it doesn't overwrite existing files
180 * Internal actions are now accessible as commands
181 * Replaced unittests by doctests
182 * Replaced integrated help with an extended man page and dynamic lists
183   of keybindings, commands and settings.
184 * Removed `keys.py` configuration file in favor of `rc.conf`
185 * Removed `texas` colorscheme
186 * apps.py: Now able to define programs that only run with Xorg
187 * commands.py: Using parse(self.line) to parse the line is unnecessary now.
188   parse(self.line).rest(n) is now written as self.rest(n).
189   However, parse(self.line).chunk(n) has been renamed to self.arg(n).
190 * commands.py: parse(self.line) + X is now self.firstpart + X
191 * commands.py: New special attribute `resolve_macros` which decides whether
192   strings like %f should be expanded to the name of the current file, etc.
193 * commands.py: New special attribute `escape_macros_for_shell` to toggle
194   whether or not macros should be escaped, so you can use them in other
195   commands than :shell, for example :edit %f
196 * Countless small fixes and improvements
198 # 2011-10-02: Version 1.4.4
199 * Added keys for chmod (like +ow for `chmod o+w`, etc)
200 * Added `c` flag for running files
201 * Added various key bindings
202 * Added wavpack and webm types to mime.types
203 * Added option `display_tags_in_all_columns`
204 * Added command.cancel method which is called when pressing ESC in console
205 * Added sorting and cycling by ctime and atime
206 * Added custom tags (press "x)
207 * Added bittorrent preview
208 * Fixed blocking when using interactive scripts in scope.sh
209 * Fixed issues with ALT key
210 * Fixed pager crash when trying to read non-readable file
211 * Forbid piping things into ranger
212 * Improved hints
214 # 2011-04-05: Version 1.4.3
215 * Fixed mimetype checking when invoking ranger with a filename
216 * Fixed loss of bookmarks when disk is full
217 * Minor improvements
219 # 2011-03-05: Version 1.4.2
220 * Added --choosefile and --choosedir flag
221 * Added use of bookmarks in tab completion of the :cd command
222 * Fixed bug with detached programs and python 3.2
224 # 2011-01-04: Version 1.4.1
225 * Fixed crash when preview failed under some circumstances
226 * Fixed graphical bug when pressing i
228 # 2010-12-22: Version 1.4.0
229 * Added option to use any external scripts for previews (see scope.sh)
230 * Added key: zv to toggle the use of the external script
231 * Added indicator for the used filter (type `zf`)
232 * Added option `padding_right` to remove whitespace if theres no preview
233 * Added command `:search_inc` for incremental search
234 * Added commands `:save_copy_buffer` and `:load_copy_buffer` to share
235   the copied files between ranger instances
236 * Added mimeopen as a fallback if no useful application can be found
237 * Added natural sort, sorts 1foo before 10foo. (type `on`)
238 * Added keys: yp, yd and yb to copy path, dirname or basename to seleciton
239 * Let `open_with` use the selection, not just one file
240 * Run files with right mouse click
241 * Implemented copying via coreutils rather than internal python code
242 * Improved handling of unicode
243 * Some restructuration of the source code
245 # 2010-12-13: Version 1.2.3
246 * Enable binding to alt-keys
247 * Fixed memory leak in garbage collecting of old, unused directory objects
248 * Fixed python3 incompatibilities
249 * Fixed problems with identifying changes of files
250 * Fixed lazy lookup of some FSObject attributes
252 # 2010-10-10: Version 1.2.2
253 * Prevent currently used directories from being garbage collected
254 * Disable mouse buttons when console is open
255 * Fixed :cd command: Without arguments, cd's into $HOME
256 * Fixed bug which prevented pydoc to work on some config files
257 * Fixed some bugs in `snow` and `jungle` colorschemes
258 * Several other clean-ups and fixes
260 # 2010-09-16: Version 1.2.1
261 * Fixed yy/pp bug when yanking multiple directories
263 # 2010-09-13: Version 1.2.0
264 * !!! Changed the default configuration directory to ~/.config/ranger !!!
265 * Removed `Console Modes`, each old mode is now a simple command
266 * Disabled file previews by default if ranger is used by root
267 * Allow to jump to specific help sections by typing two numbers, e.g. 13?
268 * Added keys: da, dr, ya, yr for adding and removing files from copy buffer
269 * Added keys: gl and gL to resolve links, see 11?
270 * Added key: pL to create a relative symlink
271 * Added %<LETTER> and %<N><LETTER> macros for the console, see 33?
272 * Fixed ansi codes for colors in the pager
273 * Use the file ~/.mime.types for mime type detection
274 * Several clean-ups and fixes
276 # 2010-07-17: Version 1.1.2
277 * Fix crash when using scrollwheel to scroll down in some cases
278 * The command `ranger dir1 dir2 ...` opens multiple directories in tabs
279 * Removed pydoc html documentation by default, re-create it with `make doc`
280 * Minor fixes
282 # 2010-06-18: Version 1.1.1
283 * New install script, `setup.py`
284 * New flag for running programs: `w` (waits for enter press)
285 * Minor fixes
287 # 2010-06-09: Version 1.1.0
288 * Added a man page
289 * Tab support
290 * Improved directory loading performance
291 * Commands are definable in ~/.ranger/commands.py
292 * Case insensitive sorting (type zs)
293 * Better UTF support
294 * Possibility to turn off previews (zp and zP)
295 * Changing options with :set (e.g. `:set column_ratios=1,2,3,4`)
296 * Ask for confirmation when using :delete
297 * New invocation flag: --fail-unless-cd
298 * New hotkeys, commands, options.
299 * New syntax for ~/.ranger/keys.py
300 * Several user contributions
301 * And tons of general improvements