Changelog
This log documents changes between stable versions.
2024-11-04: version 1.9.4
- Fixed import error of deprecated imghdr python library
2019-12-31: version 1.9.3
- Added Comic cbz/cbr previews
- Added DjVu previews
- Added Font previews
- Added Wayland support to rifle
- Added
imvto rifle - Added
paste_extcommand with new name collision behavior - Added a
size_in_bytessetting - Added a new
%any_pathmacro to simplify use of bookmarks in commands - Added a new image previewing method using
ueberzug - Added archive previews
- Added filters for uniqueness and duplicates by hash to
filter_stack - Added generic openers to rifle,
xdg-openfor example - Added line modes with human readable size information
- Added loading of plugins from local configuration directory
- Added previews for 3d models using
openscad - Added previews of MS Office documents
- Added scrolling in preview
- Added trash functionality to ranger, as alternative to deleting files
- Added zathura to rifle
- Changed
c/p/tunmaptounc/p/tmaprespectively, fixing them in the process - Changed argument order for
tag_toggle - Fixed
chmodbehavior with000quantifier - Fixed a crash involving
Ctrl+space - Fixed behavior of statusbar when resizing terminal window
- Fixed busyloop when ranger’s STDIN was closed
- Fixed drawing of borders in st
- Fixed handling of macros for
chain - Fixed unicode decoding errors for previews
- Improved VCS integration by truncating long commit messages
- Improved
bulkrenamebehavior when moving files to a non-existing directory - Improved
bulkrename’s handling of files with utf-16 surrogates in the name - Improved behavior of
rename_appendfor directories - Improved configurability of syntax highlighting previews
- Improved coverage of unofficial MIME types, mostly audio formats
- Improved documentation of
multipaneviewmode - Improved documentation of optional dependencies
- Improved documentation on
copymap - Improved documentation on
tab_shift - Improved documentation on
w3m_offset - Improved example shell scripts
- Improved extensibility of image previewing methods using a registry
- Improved fuzzy tab completion
- Improved guessing of file encoding
- Improved handling of configuration and cache directories when using
--clean - Improved handling of invalid mtimes (Relevant for fuse mounts)
- Improved logging of file deletion
- Improved testing and CI setup
- Improved updating of tmux/screen window names
- Improved updating of window titles
- Improved validation of bookmarks
- Improved w3m preview method for terminals that aren’t quite compatible
2018-09-09: version 1.9.2
- Added a
hint_collapse_thresholdsetting - Added a
traverse_backwardscommand analogous totraverse - Added a command to shift tabs
- Added a normal mode mapping to quickly enter the console and scroll through
the history
C-p - Added a section to
scope.shfor image previews of archives - Added an avfs plugin
- Added an option to the move command to enable launching the selected file instead of the marked files
- Added filtering functionality inspired by dired’s filter stack,
.n, .| ... - Added image preview method for Kitty
- Added option to disable the display of free space for high latency situations
- Added section to
scope.shfor pdf previews with mutool - Added several emacs/readline-inspired keybindings,
C-gforESC,alt-f/b - Added systemwide
rc.confandcommands.pyin/etc/ranger - Added the
%any_pathmacro to allow bookmarks to be used with commands that need a path and are unaware of bookmarks - Added versioning logic to include extra info in unreleased versions
- Change tab saving to save all tabs, not just the active tab
- Changed
draw_borderssetting to enable drawing only borders or seperators - Changed behavior of positional arguments to the ranger command, if you specify a path to a file ranger will open with that file selected
- Changed the
tilde_in_titlebarsetting to influence the window titlebar too - Changed the default colorscheme to work properly in terminals that don’t equate bold and bright
- Fixed StopIteration errors
- Fixed embedded null errors
- Fixed issues reported by coverity scan
- Fixed running ranger as root on Mac OS
- Fixed unicode issue for python2
- Fixed w3m preview issues with black stripes
- Improved PEP8 adherence
- Improved VCS symbols
- Improved
--cmdfunctionality - Improved file encoding detection by using chardet if it’s available
- Rifle’s flag t should now work with more terminals than xterm and urxvt
- Update colorscheme documentation
2018-02-22: version 1.9.1
- Fixed the rifle config backwards compatibility (regression in 1.9.0)
- Fixed the POSIX compatibility of
Makefile - Fixed
--choosefile,--choosefilesand--choosedirso they work with the process substitution (>(...)in Bash) - Changed the default
gtbinding togpdue to a conflict - Changed the help message for
--choosefile,--choosefilesand--choosedirto avoid confusion - Changed the behavior of
:resetto reload the tags too - Added
geeqieto the defaultrifle.conf
2018-01-25: version 1.9.0
- Fixed memory leak in w3m image preview
- Fixed
Qbinding, map it toquitallinstead ofquit! - Fixed
gRbinding - Fixed custom linemode not being applied to files
- Fixed w3m image display invocation on OpenBSD
- Fixed broken pager after changing view mode with
~ - Added reset of rifle.conf when pressing
<C-R> - Added image-based PDF previews to
scope.sh(disabled by default) - Added terminology-based image previews
- Added check for
$VISUALenvironment variable - Added setting
iterm2_font_heightanditerm2_font_width - Renamed setting
cd_tab_smarttocd_tab_fuzzy - Changed command for mercurial integration from
hgtochg
2017-11-19: version 1.9.0b6
- Fixed crash when parsing corrupted history file
- Fixed tab completion with
cd -r ... - Fixed crash when previewing files encoded in little-endian UTF-16
- Fixed flicker in previewing symlinked images
- Fixed detection of location of scope.sh
- Fixed crash when running ranger from the directory containing its package
- Fixed cursor position after moving half a page down and back up
- Fixed handling of lines that are too long for the console
- Added
<F2>binding to:rename_append - Avoid dereferencing symlinked directory when starting ranger in one
- Added support for
file://URIs as path arguments - Added setting
save_tabs_on_exit - Added setting
cd_tab_case, sets case sensitivity of:cdtab completion - Added setting
cd_tab_smart, allows fuzzy tab completion with:cd, for example,:cd /u/lo/b<TAB>expands to:cd /usr/local/bin - Added setting
global_inode_type_filterto show only directories when running ranger with the new option--show-only-dirs - Added setting
save_backtick_bookmark, e.g. for easier syncing of bookmarks - Added setting
one_indexedto start counting line numbers from 1 - Added rifle.conf entries to list/extract archives without atool
- Added
:yankcommand for simplified definitions ofyn,yd&yp - Added
:narrowcommand, which filters selected files - Added setting
freeze_files, bound toFkey, to avoid reloading files - Changed
:shell -p ...to display stderr in pager
2017-02-19: version 1.9.0b5
- Fixed width calculation of multibyte characters in preview
- Fixed crash in iTerm2 preview with python 3.5
2017-02-10: version 1.9.0b1
- Fixed crash when using
Mion files without reading permissions - Fixed natural sorting (
11.jpg<100.jpg) - Fixed loss of precision in timestamps when copying
- Fixed smart case matching in
:travel - Fixed automatically disabling
preview_scriptwhen running as root - Fixed crash on sshfs disconnect
- Fixed crash on missing
~/.config/ranger/history - Fixed crash when path not accessible during start-up
- Fixed automatic tmux title
- Fixed urxvt image previewing when running tmux
- Fixed macro expansion in aliased commands
- Fixed
hidden_filteroption when combined with:flat - Fixed various other crashes
- Fixed error message that occasionally pops up when changing settings
- Introduced extensive linting to ensure code quality
- Added continuous integration. Patches now require
make testto pass. - Added handling of arguments in “$PAGER” environment variable
- Added quote parsing for
:setlocal path=... - Added
ysto copy the selection to clipboard - Added setting
hostname_in_titlebar - Added setting
wrap_scrollto wrap cursor around when scrolling - Added example plugin
plugin_fasd_add.py - Added command
jump_nonto jump to the first non-directory file - Added additional arguments to the command
:rename_append - Added key binding ‘zz’ as an alternative to ‘zf’
- Added option
-cto theriflefile opener command - Added support for
$XDG_DATA_HOME - Avoid exiting ranger while copying. Use
:quit!to quit while copying. - Improved scope.sh (better performance & readability)
- Improved logs handling by migrating to the python standard logging library (PR #725)
- Changed
ranger --choosefilesto return all selected files in all paths - Changed interpretation of commands: treat tabs as argument separators
- Changed
<C-n>to open new tab in current directory rather than$HOME - Changed
:quit!to only close 1 tab. Use:quitallto close all tabs. - Removed backward compatibility for
options.py, predecessor ofrc.conf - Automatically update bookmarks+tags when renaming them via ranger
2017-01-08: version 1.8.1
- Fixed
:scoutbreak due to incompatible change in python 3.6
2016-12-24: version 1.8.0
- scope.sh is now needed for the now fully scriptable image previews
- Overhaul of version control system integration, now with threads
- Fixed ranger not finding the location of w3mimgdisplay in most cases
- Fixed many minor bugs
- Added midnight-commander like multipane view, toggleable with
~key. It displays the current directory of all the open tabs next to each other. - Added autodetect for 256 color support in scope.sh source code preview
- Added macro
%confdirthat expands to~/.config/rangerby default - Added possibility to toggle/cycle through options with
set <option_name>! - Added
Mm/Mskey to enable the linemode showing modification time - Added
yt/dtkeys to toggle whether file is in copy/cut buffer - Added
line_numberssetting showing absolute/relative line numbers - Added
Alt-LeftandAlt-Rightkey bindings to move by words in console - Added previews for libreoffice files with
odt2txt - Added
preview_images_method=urxvtoption for previewing images by changing the urxvt background (requires urxvt compiled with pixbuf support) - Added
clear_filters_on_dir_changeoption - Added Travis-CI integration
- Changed
zikey to togglepreview_imagesoption - Improved PEP8 compliance
- Improved documentation
- Improved UI by separating file path in titlebar with a space from the username/hostname for quick copy&pasting by shift+double-clicking on it.
2015-10-04: version 1.7.2
- Fixed file name arguments passed to
sxivandfehwhen using:flat - Fixed removal of empty directories when using
:rename - Fixed free disk space display on Mac OS X
- Fixed
examples/vim_file_chooserto work with gvim too - Fixed some other rare crashes and bugs
- Fixed downward mouse wheel scrolling
- Fixed warning about regex splits being drawn in titlebar since python3.5
- Really fixed
Skey binding not working when SHELL=fish - Improved
doc/cheatsheet.svg - Added some entries to rifle.conf
- Added key bindings
pOandpPwhich work likepoandppbut queue the operation in a first-in-first-out order.
2015-05-04: version 1.7.1
- Added
doc/cheatsheet.svg - Added
examples/rc_emacs.conf, a config file adding emacs-like key bindings - Added
envkeyword in rifle.conf - Fixed
:bulkrenamecommand in python3 - Fixed
Skey binding not working when SHELL=fish
2015-04-13: version 1.7.0
- The default editor is now
viminstead ofnano - Added automatic updates of tags when a file is renamed from within ranger
- Added
preview_images_methodwhich can be set toiterm2to use native iTerm2 image previews - Added
:rename_appendcommand to rename files without the file extension - Added
:linemodecommand to change the way the files are displayed Try this out by pressing M followed by one of the suggested keys. New linemodes can be added withranger.api.register_linemode(). - Added
:filter_inode_typecommand to only show directories, files or links - Added
:metacommand for managing custom file metadata - Added
:flatcommand for displaying subdirectories - Added
solarizedcolorscheme - Added generic ability to use scope.sh for image previews
- Added video previews in scope.sh
- Added option
sort_unicodeto sort according to unicode, not ASCII :mkdircan now create multiple directory levels (likemkdir -p):help(key binding?) is now interactive:find(key binding/) is now case insensitive by defaultranger --copy-config=allnow copies a short sample commands.py rather than the full one, so that you can update ranger without having broken commands. The full commands.py is still copied to~/.config/ranger/commands_full.py.- Fixed broken copying of symlinks
2013-05-24: Version 1.6.1
- Added support for version control systems, see: http://lists.nongnu.org/archive/html/ranger-users/2013-03/msg00007.html
- Added :scout command as a unified backend to :find, :search, etc
- Added
open_all_imagessetting to remove the need for external scripts to handle opening of all images in a directory at once. - Now previewing with
iuses the whole available width.
2013-02-22: Version 1.6.0
- Overhauled all config files. Please update them or use the –clean switch
- Added
examples/directory to source code which contains sample programs or plugins that can be used together with ranger - Added progress bars to copying, moving and directory loading processes
- Added feature to draw images inside the console using w3mimgdisplay (you need
to add
set preview_images truein rc.conf) - Added a plugin system like in the program
anki, i.e. place any python file into ~/.config/ranger/plugins/ and it will be imported by ranger - Added a separate file launcher named
riflethat is configured through rifle.conf and is installed as a standalone program. Usingranger [filename]from the shell for opening files is deprecated now, please userifle [filename]instead. - Added
uqkeybinding to undo closed tabs - Added :setlocal command to change settings for specific directories only
- Added :travel command to move more quickly to your destination
- Added 256 color support for scope.sh
- Added a real yes/no prompt for :delete command
- Added settings:
confirm_on_delete,draw_progress_bar_in_status_bar,preview_images,status_bar_on_top,update_tmux_title - Added commands:
:mark_tag,:unmark_tag - Added BSD-friendly setsid implementation
- Added as-you-type filtering for
:filtercommand - Replaced
options.pyfile by :set commands in rc.conf - Replaced
apps.pyfile with rifle.conf - Improved
rkey to interface with rifle - Rewritten
scope.shin POSIX shell - Changed copying/moving code to work without GNU coreutils
- Changed key to untag files from
Ttout - Changed the flag
d(for detached) tof(for fork) in program launcher - Changed appearance of keybinding-hints and bookmarks
- Changed tabs with 4 spaces in the source code (see PEP 8)
- Removed ranger.core.environment class
- Removed settings:
colorscheme_overlay,draw_bookmark_borders,init_function,load_default_rc - Fixed zombie process apocalypse
- Fixed
draw_borders=truein combination withpadding_right=false
2012-08-10: Version 1.5.5
- Ensure that detached programs continue to run when ranger is killed
2012-05-03: Version 1.5.4
- Added exiftool to scope.sh by default
- Fixed a crash when entering a directory with a unicode name
- Speedup in
ranger.ext.get_executables
2012-03-05: Version 1.5.3
- Added –selectfile option that selects a certain file on startup
- Added –list-tagged-files option
- Added –cmd option to run commands on startup
- Added –profile option for additional debug information on exit
- Added a visual mode (activate with
V, deactivate with Esc) - Added a reversed visual mode (activate with
uV) - Added
$RANGER_LEVELenvironment variable which ranger sets to1or higher so programs can know that they were spawned from ranger - Added run flag
rfor running with root privileges (needs sudo) - Added run flag
tfor running in a new terminal (as specified in $TERMCMD) - Added :relink command to change destinations of symlinks
- Added
dcbinding for getting the cumulative size of a directory - Added
autoupdate_cumulative_sizeoption - Added
phtbinding to Paste Hardlinked subTrees (like cp -l) - Improved sorting speed of signals (noticeable when caching many directories)
- Improved drawing speed
- Fixed unexpected behavior when displaying nonprintable characters
- Fixed :bulkrename to work with files starting with a minus sign
- Fixed RangerChooser example in man page
- Fixed crash when opening images with sxiv/feh by running
ranger <image>
2011-10-23: Version 1.5.2
- Fixed graphical bug that appears in certain cases when drawing characters at the right edge.
2011-10-23: Version 1.5.1
- Added
fm.select_file(path) - Added –choosefiles option (like –choosefile, but chooses multiple files)
- Fixed –list-unused-keys
- Fixed Zombie processes
- Fixed handling of filenames with undecodable bytes (unicode surrogates)
- Fixed crashes due to incomplete loading of directories
- Fixed tab completion of the command
shell - Fixed
otandoTkeys in rc.conf - Fixed parsing of chained commands (like in the binding
om)
2011-10-11: Version 1.5.0
- Full python3.2 compatibility
- Added new configuration file
rc.confwhich contains a list of commands that are executed on startup - mainly used for keybindings - Added –list-unused-keys
- Added new program handlers to apps.py
- Added pop-up window for keychains and bookmarks
- Added
load_default_rcoption - Fixed all known unicode issues
- Fixed crash when $TERM is unknown to the system
- Fixed scrolling in colored preview
- Changed the default
column_ratiosto 1/¾ and sorting method tonatural - Changed :rename so it doesn’t overwrite existing files
- Internal actions are now accessible as commands
- Replaced unittests by doctests
- Replaced integrated help with an extended man page and dynamic lists of keybindings, commands and settings.
- Removed
keys.pyconfiguration file in favor ofrc.conf - Removed
texascolorscheme - apps.py: Now able to define programs that only run with Xorg
- commands.py: Using parse(self.line) to parse the line is unnecessary now. parse(self.line).rest(n) is now written as self.rest(n). However, parse(self.line).chunk(n) has been renamed to self.arg(n).
- commands.py: parse(self.line) + X is now self.firstpart + X
- commands.py: New special attribute
resolve_macroswhich decides whether strings like %f should be expanded to the name of the current file, etc. - commands.py: New special attribute
escape_macros_for_shellto toggle whether or not macros should be escaped, so you can use them in other commands than :shell, for example :edit %f - Countless small fixes and improvements
2011-10-02: Version 1.4.4
- Added keys for chmod (like +ow for
chmod o+w, etc) - Added
cflag for running files - Added various key bindings
- Added wavpack and webm types to mime.types
- Added option
display_tags_in_all_columns - Added command.cancel method which is called when pressing ESC in console
- Added sorting and cycling by ctime and atime
- Added custom tags (press “x)
- Added bittorrent preview
- Fixed blocking when using interactive scripts in scope.sh
- Fixed issues with ALT key
- Fixed pager crash when trying to read non-readable file
- Forbid piping things into ranger
- Improved hints
2011-04-05: Version 1.4.3
- Fixed mimetype checking when invoking ranger with a filename
- Fixed loss of bookmarks when disk is full
- Minor improvements
2011-03-05: Version 1.4.2
- Added –choosefile and –choosedir flag
- Added use of bookmarks in tab completion of the :cd command
- Fixed bug with detached programs and python 3.2
2011-01-04: Version 1.4.1
- Fixed crash when preview failed under some circumstances
- Fixed graphical bug when pressing i
2010-12-22: Version 1.4.0
- Added option to use any external scripts for previews (see scope.sh)
- Added key: zv to toggle the use of the external script
- Added indicator for the used filter (type
zf) - Added option
padding_rightto remove whitespace if theres no preview - Added command
:search_incfor incremental search - Added commands
:save_copy_bufferand:load_copy_bufferto share the copied files between ranger instances - Added mimeopen as a fallback if no useful application can be found
- Added natural sort, sorts 1foo before 10foo. (type
on) - Added keys: yp, yd and yb to copy path, dirname or basename to seleciton
- Let
open_withuse the selection, not just one file - Run files with right mouse click
- Implemented copying via coreutils rather than internal python code
- Improved handling of unicode
- Some restructuration of the source code
2010-12-13: Version 1.2.3
- Enable binding to alt-keys
- Fixed memory leak in garbage collecting of old, unused directory objects
- Fixed python3 incompatibilities
- Fixed problems with identifying changes of files
- Fixed lazy lookup of some FSObject attributes
2010-10-10: Version 1.2.2
- Prevent currently used directories from being garbage collected
- Disable mouse buttons when console is open
- Fixed :cd command: Without arguments, cd’s into $HOME
- Fixed bug which prevented pydoc to work on some config files
- Fixed some bugs in
snowandjunglecolorschemes - Several other clean-ups and fixes
2010-09-16: Version 1.2.1
- Fixed yy/pp bug when yanking multiple directories
2010-09-13: Version 1.2.0
- !!! Changed the default configuration directory to ~/.config/ranger !!!
- Removed
Console Modes, each old mode is now a simple command - Disabled file previews by default if ranger is used by root
- Allow to jump to specific help sections by typing two numbers, e.g. 13?
- Added keys: da, dr, ya, yr for adding and removing files from copy buffer
- Added keys: gl and gL to resolve links, see 11?
- Added key: pL to create a relative symlink
- Added %
and % macros for the console, see 33? - Fixed ansi codes for colors in the pager
- Use the file ~/.mime.types for mime type detection
- Several clean-ups and fixes
2010-07-17: Version 1.1.2
- Fix crash when using scrollwheel to scroll down in some cases
- The command
ranger dir1 dir2 ...opens multiple directories in tabs - Removed pydoc html documentation by default, re-create it with
make doc - Minor fixes
2010-06-18: Version 1.1.1
- New install script,
setup.py - New flag for running programs:
w(waits for enter press) - Minor fixes
2010-06-09: Version 1.1.0
- Added a man page
- Tab support
- Improved directory loading performance
- Commands are definable in ~/.ranger/commands.py
- Case insensitive sorting (type zs)
- Better UTF support
- Possibility to turn off previews (zp and zP)
- Changing options with :set (e.g.
:set column_ratios=1,2,3,4) - Ask for confirmation when using :delete
- New invocation flag: –fail-unless-cd
- New hotkeys, commands, options.
- New syntax for ~/.ranger/keys.py
- Several user contributions
- And tons of general improvements
