All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
v0.7.0
Added
- 
New :edit-urlcommand to edit the URL in an external editor.
- 
New network -> custom-headerssetting to send custom headers with every request.
- 
New {url:pretty}commandline replacement which gets replaced by the decoded URL.
- 
New marks to remember a scroll position: 
- 
New :jump-markcommand to jump to a mark, bound to'
- 
New :set-markcommand to set a mark, bound to ```(backtick)
- 
The 'mark gets set when moving away (hinting link with anchor, searching, etc.) so you can move back with''
- 
New --force-colorargument to force colored logging even if stdout is not a terminal
- 
New :messagescommand to show error messages
- 
New pop-up showing possible keybinding when the first key of a keychain is pressed. This can be turned off using :set ui keyhint-blacklist *.
- 
New hints -> auto-follow-timeoutsetting to ignore keypresses after following a hint when filtering in number mode.
- 
New :history-clearcommand to clear the entire history
- 
New hints -> find-implementationto select which implementation (JS/Python) should be used to find hints on a page. Thejavascriptimplementation is better, but slower.
Changed
- 
qutebrowser got a new (slightly updated) logo 
- 
:tab-focuscan now take a negative index to focus the nth tab counted from the right.
- 
:yankcan now yank the pretty/decoded URL by adding--pretty
- 
:navigatenow clears the URL fragment
- 
:completion-item-del(Ctrl-D) can now be used in:buffercompletion to close a tab
- 
Counts can now be used with special keybindings (e.g. with modifiers) 
- 
Various SSL ciphers are now disabled by default. With recent Qt/OpenSSL versions those already all are disabled, but with older versions they might not be. 
- 
Show favicons as window icon with tabs-are-windowsset.
- 
:bind <key>without a command now shows the existing binding
- 
The optional colorlogdependency got removed, as qutebrowser now displays colored logs without it.
- 
URLs are now shown decoded when hovering. 
- 
Keybindings are now shown in the command completion 
- 
Improved behavior when pasting multiple lines 
- 
Rapid hints can now also be used for the normalhint target, which can be useful with javascript click handlers or checkboxes which don’t actually open a new page.
- 
:zoom-inor:zoom-out(+/-) with a too large count now zooms to the smallest/largest zoom instead of doing nothing.
- 
The commandline now accepts partially typed commands if they’re unique. 
- 
Number hints are now kept filtered after following a hint in rapid mode. 
- 
Number hints are now renumbered after filtering 
- 
Number hints can now be filtered with multiple space-separated search terms 
- 
hints -> scatteris now ignored for number hints
- 
Better history implementation which also stores titles. As a consequence, URLs which redirect to another URL are now added to the history too, marked with a -rsuffix to the timestamp field.
Fixed
- 
Fixed using :hint links spawnwith flags - you can now use things like the-vargument for:spawnor pass flags to the spawned commands.
- 
Various fixes for hinting corner-cases where following a link didn’t work or the hint was drawn at the wrong position. 
- 
Fixed crash when downloading from an URL with SSL errors 
- 
Close file handles correctly when a download failed 
- 
Fixed crash when using ;Y(:hint links yank-primary) on a system without primary selection
- 
Don’t display quit confirmation with finished downloads 
- 
Fixed updating the tab index in the statusbar when opening a background tab 
- 
Fixed a crash when entering `:-- ` in the commandline 
- 
Fixed :debug-consolewith PyQt 5.6
- 
Fixed qutebrowser not starting when sys.stderrisNone
- 
Fixed crash when cancelling a download which belongs to a MHTML download 
- 
Fixed rebinding of keybindings being case-sensitive 
- 
Fix for tab indicators getting lost when moving tabs 
- 
Fixed handling of backspace in number hinting mode 
- 
Fixed FileNotFoundErrorwhen starting in some cases on old Qt versions
- 
Fixed sharing of cookies between tabs when private-browsingis enabled
- 
Toggling values with :setnow uses lower-case values
- 
Hints now work with (non-standard) links with spaces around the URL 
- 
Strip off trailing spaces for history entries with no title 
v0.6.2
Fixed
- 
Fixed crash when using :tab-{prev,next,focus}right after closing the last tab withlast-closeset toclose.
- 
Fixed crash when doing :undoin a new instance withtabs -> last-closeset todefault-page.
- 
Fixed crash when starting with --cachedir="" 
- 
Fixed crash in some circumstances when using dictionary hints 
- 
Fixed various crashes related to PyQt 5.6 
v0.6.1
Fixed
- 
Fixed broken cheatsheet image which was missing from package 
- 
Fixed occasional crash when switching/disconnecting monitors 
- 
Fixed crash when downloading non-ascii files with a broken locale ( LC_ALL=C)
- 
Added workaround for a Qt/PyQt bug which is too weird to describe here 
v0.6.0
Added
- 
New :buffercommand to easily switch tabs by name. This is not bound to a key by default for existing users due to a conflict with thegt/gTbindings (which are now removed from the default bindings). You can bind it by hand by running:bind -f gt set-cmd-text -s :buffer.
- 
New --quietargument for the:debug-pyevalcommand to not open a tab with the results. Note:debug-pyevalis still only intended for debugging.
- 
The completion now matches each entered word separately. 
- 
A new command :paste-primarygot added to paste the primary selection, and<Shift-Insert>got added as a binding so it pastes primary rather than clipboard.
- 
New mode wordforhints -> modewhich uses a dictionary and link-texts for hints instead of single characters.
- 
New --allargument for:download-cancelto cancel all running downloads.
- 
New password_filluserscript to fill passwords using thepassexecutable.
- 
New currenthinting mode which forces opening hints in the current tab (even withtarget="_blank")
Changed
- 
Pasting multiple lines via :pastenow opens each line in a new tab.
- 
:navigate increment/decrementnow preserves leading zeroes in URLs.
- 
general -> editorcan now also handle{}inside another argument (e.g. to openvimviatermite)
- 
Improved performance when scrolling with many tabs open. 
- 
Shift-Insert now also pastes primary selection for prompts. 
- 
:download-remove --allgot un-deprecated to provide symmetry with:download-cancel --all. It does the same as:download-clear.
- 
Improved detection of URLs/search terms when pasting multiple lines. 
- 
Don’t remove qutebrowser-editor-*temporary file if editor subprocess crashed
- 
Userscripts are also searched in /usr/share/qutebrowser/userscripts.
- 
Blocked hosts are now also read from a blocked-hostsfile in the config dir (e.g.~/.config/qutebrowser/blocked-hosts).
Fixed
- 
Fixed starting with -c "". 
- 
Fixed crash when a tab is closed twice via javascript (e.g. Dropbox authentication dialogs) 
- 
Fixed crash when a notification/geolocation prompt is answered after closing the tab it belongs to. 
- 
Fixed crash when downloading a file without any path information (e.g a magnet link). 
- 
Fixed crashes when opening an empty URL (e.g. via pasting). 
- 
Fixed validation of duplicate values in hints -> chars.
- 
Fixed crash when PDF.js was partially installed. 
- 
Fixed crash when XDG_DOWNLOAD_DIR was not an absolute path. 
- 
Fixed very long filenames when downloading data://-URLs.
- 
Fixed ugly UI fonts on Windows when Liberation Mono is installed 
- 
Fixed crash when unbinding key from a section which doesn’t exist in the config 
- 
Fixed report window after a segfault 
- 
Fixed some directory browser issues on Windows 
- 
Fixed crash when closing a window with a finished download and delayed remove-finished-downloadssetting.
- 
Fixed crash when hitting <Tab>then<Ctrl-C>on pages without keyboard focus.
- 
Fixed "Frame load interrupted by policy change" error showing up when downloading files with Qt 5.6. 
Removed
- 
The gt/gTbindings (luakit-like alternatives toJ/K) were removed (except for existing configs) to make room for thegtbinding to show buffers.
v0.5.1
Fixed
- 
Fixed completion for various config values when using :set.
- 
Fixed config validation for various config values. 
- 
Prevented an error being logged when a website with HTTP authentication was opened on Windows. 
v0.5.0
Added
- 
Ability to preview PDFs using pdf.js in the browser if it’s installed. This is disabled by default and can be enabled using the content -> pdfjs-enabledsetting.
- 
New setting ui -> hide-wayland-decorationto hide the window decoration when using wayland.
- 
New userscripts in misc/userscripts:
- 
open_downloadto easily open a file in your downloads folder.
- 
view_in_mpvto open a video in mpv and remove it from the page.
- 
qutedmenuanddmenu_qutebrowserto select URLs via dmenu
- 
New setting content -> host-blocking-whitelistto whitelist certain domains from the adblocker.
- 
{scroll_pos}can now be used inui -> window-title-formatandtabs -> title-format.
- 
New setting general -> url-incdec-segmentsto configure which segments of the URL should be affected by:navigate increment/decrement.
- 
New --targetargument to specify how URLs should be opened in an existing instance.
- 
New setting statusbar.url.fg.success.httpsto set the foreground color for the URL when a page was loaded via HTTPS.
- 
The scrollbar in the completion is now styled, and the following new options got added: - 
completion -> scrollbar-width
- 
completion -> scrollbar-padding
- 
colors -> completion.scrollbar.fg
- 
colors -> completion.scrollbar.bg
 
- 
- 
New value nonefor options taking a color system so they don’t display a gradient:- 
colors -> tabs.indicator.system
- 
colors -> downloads.fg.system
- 
colors -> downloads.bg.system
 
- 
- 
New command :download-retryto retry a failed download.
- 
New command :download-clearwhich replaces:download-remove --all.
- 
:set-cmd-texthas a new--appendargument to append to the current statusbar text.
- 
qutebrowser now uses ~/.netrcif available to authenticate via HTTP.
- 
New :fake-keycommand to send a fake keypress to a website or to qutebrowser.
- 
New --mhtmlargument for:downloadto download a page including all ressources as MHTML file.
- 
New option tabs -> title-alignmentto change the alignment of tab titles.
Changed
- 
The colors -> tabs.bg/fg.selectedoption got split intotabs.bg/fg.selected.odd/even.
- 
:spawn --userscriptand:hintwith theuserscripttarget now look up relative paths in~/.local/share/qutebrowser/userscriptsor$XDG_DATA_DIR. Using a binary in$PATHwon’t work anymore with--userscript.
- 
New design for error pages 
- 
Link filtering for hints now checks if the text is contained anywhere in the link, and matches case-insensitively. 
- 
The ui -> remove-finished-downloadsoption got changed to an integer and now takes a time (in milliseconds) to keep the download around after it’s finished. When set to-1, downloads are never removed.
- 
The :follow-hintcommand now optionally takes the keystring of a hint to follow.
- 
:scroll-pxnow doesn’t take floats anymore, which made little sense.
- 
Updated the user agent list for the :set network user-agentcompletion.
- 
Starting with --debugdoesn’t logVDEBUGmessages anymore (add--loglevel VDEBUGto get them).
- 
:debug-consolenow hides the console if it’s already shown.
- 
:yank-selectednow doesn’t log the selected text anymore.
- 
general -> log-javascript-consolegot changed from a boolean to an option taking a loglevel (none,info,debug).
- 
:tab-move +/-now wraps around iftabs -> wrapistrue.
- 
When a subprocess (like launched by :spawn) fails, its stdout/stderr is now logged to the console.
- 
A search engine name can now contain any non-space character, like dashes. 
Deprecated
- 
:download-remove --allis now deprecated and:download-clearshould be used instead.
- 
:download <url> <destination>is now deprecated and:download --dest <destination> <url>should be used instead.
Removed
- 
:scrollwith two pixel-arguments (deprecated in v0.3.0)
- 
The :run-userscriptcommand (deprecated in v0.2.0)
- 
The rapidandrapid-wintargets for:hint(deprecated in v0.2.0)
- 
The :cancel-downloadcommand (deprecated in v0.2.0)
- 
The :download-pagecommand (deprecated in v0.2.0)
Fixed
- 
Fixed retrying of downloads which were started in a now closed tab. 
- 
Fixed displaying of web history if web-history-max-itemsis set to -1.
- 
Cloned tabs now don’t display favicons anymore if show-favicons is False. 
- 
Fixed a crash when clicking a bookmark name and pressing Ctrl-D.
- 
Fixed a crash when a website presents a very small favicon. 
- 
Fixed prompting for download directory when storage -> prompt-download-directorywas unset.
- 
Fixed crash when using :follow-hintoutside of hint mode.
- 
Fixed crash when using :set foo bar?with invalid section/option.
- 
Fixed scrolling to the very left/right with :scroll-perc.
- 
Using an external editor should now work correctly with some funny chars (U+2028/U+2029/BOM). 
- 
Movements in caret mode now should work correctly on OS X and Windows. 
- 
Fixed upgrade from earlier config versions. 
- 
Fixed crash when killing a running userscript. 
- 
Fixed characters being passed through when shifted with forward-unbound-keysset toauto.
- 
Fixed restarting after a crash is reported. 
- 
Removed .pycfiles accidentally contained in source releases.
v0.4.1
Fixed
- 
Adjusted AppArmor config for the IPC changes in v0.4.0. 
- 
Fixed atime update frequency for IPC file. 
- 
Worked around a Qt issue where middle-clicking caused scrolling with a touchpad to restart at the beginning of the page. 
- 
The completion -> web-history-max-itemssetting is now also respected for items added after starting qutebrowser.
- 
Search terms are now shared between different tabs again 
- 
Tests (a reduced subset of them) now run correctly again when DISPLAY is not set. 
- 
Fixed an issue causing qutebrowser to crash with Python 3.5 as soon as an ad was blocked. 
- 
Fixed an issue causing qutebrowser to not start with more recent Python 3.4 versions (e.g. on Debian experimental). 
- 
Fixed various PendingDeprecationWarningsshown with Python 3.5.
v0.4.0
Added
- 
New bookmark functionality (similar to quickmarks without a name). - 
New command :bookmark-addto bookmark the current page (bound toM).
- 
New command :bookmark-loadto load a bookmark (bound togb/gB/wB).
 
- 
- 
New (hidden) command :completion-item-del(bound to<Ctrl-D>) to delete the current item in the completion (for quickmarks/bookmarks).
- 
New settings tabs -> paddingandtabs -> indicator-tabbingto control the size/padding of the tabbar.
- 
New setting ui -> statusbar-paddingto control the size/padding of the status bar.
- 
New setting network -> referer-headerto configure when the referer should be sent (by default it’s only sent while on the same domain).
- 
New setting tabs -> showwhich supersedes the oldtabs -> hide-*options and has an additionalswitchingoption which shows tab while switching them. There’s also a newshow-switchingoption to configure the timeout.
- 
New setting storage -> remember-download-directoryto remember the last used download directory.
- 
New setting storage -> prompt-download-directoryto download all downloads without asking.
- 
Rapid hinting is now also possible for downloads. 
- 
Directory browsing via file://is now supported.
Changed
- 
Some developer scripts got moved to scripts/dev/
- 
When downloading to a FIFO or special file, a confirmation is displayed as this might cause qutebrowser to hang. 
- 
The :yank-selectedcommand now works in all modes instead of just caret mode and is not hidden anymore.
- 
minimal_webkit_testbrowser.pynow has a--webengineswitch to test QtWebEngine if it’s installed.
- 
The column width percentages for the completion view now depend on the completion model. 
- 
The values for tabs -> positionandui -> downloads-positiongot changed fromnorth/south/west/`easttotop/bottom/left/right. Existing configs should be adjusted automatically.
- 
:tab-focus/gtnow behaves like:tab-nextif no count/index is given.
- 
The completion widget doesn’t show a border anymore. 
- 
The tabbar doesn’t display ugly arrows anymore if there isn’t enough space for all tabs. 
- 
Some insignificant Qt warnings which were printed on OS X are now hidden. 
- 
Better support for Qt 5.5 and Python 3.5. 
Fixed
- 
Fixed a bug where cookies were saved despite qutebrowser being started in private browsing mode. 
- 
The local socket used for inter-process communication (opening new instances) is now ensured to only be accessible by the user on all operating systems. 
- 
Various corner cases for inter-process communication issues got fixed. 
- 
link_pyqt.pynow should work better on untested distributions.
- 
Fixed various corner-cases with crashes when reading invalid config values and the history file. 
- 
Fixed various corner-cases when setting text via an external editor. 
- 
Fixed potential crash when hinting a text field. 
- 
Fixed entering of insert mode when certain disabled text fields were clicked. 
- 
Fixed a crash when using :setwith-pand!(invert value)
- 
Downloads with unknown size are now handled correctly. 
- 
:navigate increment/decrement(<Ctrl-A>/<Ctrl-X>) now handles some corner-cases better.
- 
Fixed a bug where the completion got affected by another window’s completion if it was open in both windows. 
- 
Fixed a performance issue with large histories when opening previously unvisited websites. 
- 
The progress bar now doesn’t cause the statusbar to change it’s height anymore. 
- 
~is now always expanded when spawning a script.
- 
Fixed various corner cases when opening links in an existing instance. 
- 
Fixed a race-condition causing an exception when starting qutebrowser. 
Removed
- 
The tabs -> indicator-spacesetting got removed as the new padding settings should be used instead.
- 
The tabs -> hide-alwaysandtabs -> hide-autosettings got merged into the newtabs -> showsetting.
v0.3.0
Added
- 
New commands :message-info,:message-errorand:message-warningto show messages in the statusbar, e.g. from a userscript.
- 
New command :scroll-pxwhich replaces:scrollfor pixel-exact scrolling.
- 
New command :jsevalto run a javascript snippet on the current page.
- 
New (hidden) command :follow-selected(bound toEnter/Ctrl-Enterby default) to follow the link which is currently selected (e.g. after searching via/).
- 
New (hidden) command :clear-keychainto clear a partially entered keychain (bound to<Escape>by default, in addition to clearing search).
- 
New setting ui -> smooth-scrolling.
- 
New setting content -> webglto enable/disable WebGL.
- 
New setting content -> css-regionsto enable/disable support for CSS Regions.
- 
New setting content -> hyperlink-auditingto enable/disable support for hyperlink auditing.
- 
New setting tabs -> mousewheel-tab-switchingto control mousewheel behavior on the tab bar.
- 
New arguments --datadirand--cachedirto set the data/cache location.
- 
New arguments --basedirand--temp-basedir(intended for debugging) to set a different base directory for all data, which allows multiple invocations.
- 
New argument --no-err-windowsto suppress all error windows.
- 
New arguments --top-navigateand--bottom-navigate(-t/-b) for:scroll-pageto specify a navigation action (e.g. automatically go to the next page when arriving at the bottom).
- 
New flag -d/--detachfor:spawnto detach the spawned process so it’s not closed when qutebrowser is.
- 
New flag -v/--verbosefor:spawnto print informations when the process started/exited successfully.
- 
Many new color settings (foreground setting for every background setting). 
- 
New setting ui -> modal-js-dialogto use the standard modal dialogs for javascript questions instead of using the statusbar.
- 
New setting colors -> webpage.bgto set the background color to use for websites which don’t set one.
- 
New setting completion -> auto-opento only open the completion when tab is pressed (if set to false).
- 
New visual/caret mode (bound to v) to select text by keyboard.
- 
There are now some example userscripts in misc/userscripts.
- 
Support for Qt 5.5 and tox 2.0 
Changed
- 
Breaking change for userscripts: QUTE_HTMLandQUTE_TEXTfor userscripts now don’t store the contents directly, and instead contain a filename.
- 
The content -> geolocationandnotificationssettings now support atruevalue to always allow those. However, this is not recommended.
- 
New bindings <Ctrl-R>(rapid),<Ctrl-F>(foreground) and<Ctrl-B>(background) to switch hint modes while hinting.
- 
<Ctrl-M>and numpad-enter are now bound by default for bindings where<Return>was bound.
- 
:hint tabandFnow respect thebackground-tabssetting. To enforce a foreground tab (whatFdid before), use:hint tab-fgor;f.
- 
:scrollnow takes a direction argument (up/down/left/right/top/bottom/page-up/page-down) instead of two pixel arguments (dx/dy). The old form still works but is deprecated.
- 
The ui -> user-stylesheetsetting now also takes file paths relative to the config directory.
- 
The content -> cookies-acceptsetting now has newno-3rdparty(default) andno-unknown-3rdpartyvalues to block third-party cookies. Thedefaultvalue got renamed toall.
- 
Improved startup time by reading the webpage history while qutebrowser is open. 
- 
The way :spawnsplits its commandline has been changed slightly to allow commands with flags.
- 
The default for the new-instance-open-targetsetting has been changed totab.
- 
Sessions now store zoom/scroll-position separately for each entry. 
Deprecated
- 
:scrollwith two pixel-arguments is now deprecated -:scroll-pxshould be used instead.
Removed
- 
The --no-crash-dialogargument which was intended for debugging only was removed as it’s replaced by--no-err-windowswhich suppresses all error windows.
- 
Support for Qt installations without SSL support was dropped. 
Fixed
- 
Scrolling should now work more reliably on some pages where arrow keys worked but hjkldidn’t.
- 
Small improvements when checking if an input is an URL or not. 
- 
Fixed wrong cursor position when completing the first item in the completion. 
- 
- 
Fixed a bug where the same title was shown for all tabs on some systems. 
- 
Don’t install the scripts package when installing qutebrowser. 
- 
Fixed searching for terms starting with a hyphen (e.g. /-foo)
- 
Proxy authentication credentials are now remembered between different tabs. 
- 
Fixed updating of the tab title on pages without title. 
- 
Fixed AssertionError when closing many windows quickly. 
- 
Various fixes for deprecated key bindings and auto-migrations. 
- 
Workaround for qutebrowser not starting when there are NUL-bytes in the history (because of a currently unknown bug). 
- 
Fixed handling of keybindings containing Ctrl/Meta on OS X. 
- 
Fixed crash when downloading an URL without filename (e.g. magnet links) via "Save as…". 
- 
Fixed exception when starting qutebrowser with :setas argument.
- 
Fixed horrible completion performance when the shrinkoption was set.
- 
Sessions now store zoom/scroll-position correctly. 
v0.2.1
Fixed
- 
Added missing manpage (doc/qutebrowser.1.asciidoc) to archive. 
v0.2.0
Added
- 
Session support - 
new command :session-loadto load a session.
- 
new command :session-saveto save a session.
- 
new command :session-deleteto delete a session.
- 
new setting general -> save-sessionto always save the session on quit.
- 
new setting general -> session-default-nameto configure the session name to use if none is given.
- 
new argument -r/--restoreto specify a session to load.
- 
new argument -R/--override-restoreto not load a session even if one was saved.
 
- 
- 
New commands to manage downloads: - 
:downloadto download a URL or the current page.
- 
:download-cancelto cancel a download.
- 
:download-deleteto delete a download from disk.
- 
:download-opento open a finished download.
- 
:download-removeto remove a download from the list.:download-remove --allor the new cd keybinding can be used to clear all finished downloads.
 
- 
- 
History completion - 
New option completion -> timestamp-formatto set the format used to display the history timestamps.
- 
New option completion -> web-history-max-itemsto configure how many history items to show in the completion.
- 
The option completion -> history-lengthfor the command history got renamed tocmd-history-max-items.
 
- 
- 
Better save logic for the config/state: - 
Only save files if modified (e.g. don’t overwrite the config if it was edited outside of qutebrowser and nothing was changed in qutebrowser). 
- 
Save things (cookies, config, quickmarks, …) periodically all 15 seconds (time can be changed with the general -> auto-save-intervaloption).
 
- 
- 
Opera-like mouse rocker gestures - 
New option input -> rocker-gestures. When turned on, the history can be navigated back/forward by holding a mouse button and pressing the other one.
 
- 
- 
New -foption for:reloadto reload and bypass the cache.
- 
Pass more information ( QUTE_MODE,QUTE_SELECTED_TEXT,QUTE_SELECTED_HTML,QUTE_USER_AGENT,QUTE_HTML,QUTE_TEXT) to userscripts.
- 
New --userscriptoption to:spawn(which deprecates:run-userscript).
- 
Ability to toggle a value to :setby appending a!to the value.
- 
New options to hide the tab-/statusbar: - 
tabs -> hide-alwaysfor the tabbar
- 
ui -> hide-statusbarfor the statusbar
 
- 
- 
New options to configure how the tab/window titles should look: - 
tabs -> title-formatfor the tabbar
- 
ui -> window-title-formatfor the window title
 
- 
- 
HTML5 Geolocation/Notification support: - 
New option content -> geolocationto permanently turn the geolocation off.
- 
New option content -> notificationsto permanently turn notifications off.
 
- 
- 
New options to disable javascript prompts/alerts: - 
content -> ignore-javascript-promptto turn off prompts.
- 
content -> ignore-javascript-alertsto turn off alerts.
 
- 
- 
Two new options to customize the behavior of hints: - 
hints -> min-charsto set minimum number of chars in hints.
- 
hints -> scatterwhich when turned off distributes the hints sequentially (like dwb) instead of scattering their positions (like Vimium).
 
- 
- 
Make it possible to use :open -[twb]without url.- 
New option general -> default-pageto set the page to be opened when doing that.
 
- 
- 
New input -> partial-timeoutoption to clear partial keystrings.
- 
New option completion -> download-path-suggestionto configure what to show in the completion for downloads.
- 
Queue messages shown in unfocused windows and show them when the window is focused. - 
New option ui -> message-unfocusedto disable this behavior.
 
- 
- 
New --relaxed-configargument which ignores unknown options.
- 
New :tab-detachcommand to open the current tab in a new window.
- 
Zooming via Ctrl-Mousewheel. - 
New option input -> mouse-zoom-dividerto control how much the page is zoomed when rotating the wheel.
 
- 
- 
New option ( content -> host-blocking-enabled) to enable/disable host blocking.
- 
New values tab-bg/tab-bg-silentfornew-instance-open-targetto open a background tab.
- 
New ui -> downloads-positionsetting to move the downloads to the bottom.
- 
New ui -> hide-mouse-cursoroption to hide the mouse cursor inside qutebrowser.
- 
New argument -sfor qutebrowser to set a temporary config option.
- 
New argument -pfor the:setcommand to print the new value.
- 
New --rapidoption to:hint. Therapid/rapid-wintargets are now deprecated, and--rapidcan be used as well with the targets run/hover/userscript/spawn as well.
- 
New -fargument to:bindto overwrite the old binding.
- 
New --qt-nameargument to qutebrowser which is passed to Qt to setWM_CLASS.
- 
Alternating row colors in completion. This adds a new colors -> completion.alternate-bgoption.
Changed
- 
Ignore quotes with maxsplit-commands ( :open,:quickmark-load, etc.) and don’t quote arguments for those commands in the completions. This also means some commands needed adjustments:- 
Clear search when :searchwithout arguments is given. (:search ""will now search for the literal text"")
- 
Add -s/--spaceargument to:set-cmd-text(as:set-cmd-text "foo "will now set the literal text"foo ")
 
- 
- 
Ignore ;;for splitting with some commands like:bind.
- 
Add unbound (new) default keybindings to config. This also adds a new <unbound>special command.- 
To unbind a command keybinding without binding it to a new key, you now have to bind it to <unbound>or it’ll be readded automatically.
 
- 
- 
If an SSL error is raised multiple times with the same error/certificate/host/scheme/port, the user is only asked once. 
- 
Jump to last instead of first item when pressing Shift-Tab the first time in the completion. 
- 
Add a fullscreen keybinding. 
- 
Add a :searchcommand in addition to/fooso it’s more visible and can be used from scripts.
- 
Various improvements to documentation, logging, and the crash reporter. 
- 
Expand ~to the users home directory with:run-userscript.
- 
Improve the userscript runner on Linux/OS X by using QSocketNotifier.
- 
Add luakit-like gt/gTkeybindings to cycle through tabs.
- 
Show default value for config values in the completion. 
- 
Clone tab icon, tab text and zoom level when cloning tabs. 
- 
Don’t open relative file paths with :open, only with commandline arguments.
- 
Expand environment variables in config settings which take a file path. 
- 
Add a list of common user agents to the user agent setting completion. 
- 
Move cursor to end of textboxes when hinting. 
- 
Don’t start searches on invalid URLs for quickmarks/startpage. 
- 
Various performance improvements for the completion. 
- 
Always open URLs given as argument in the foreground. 
- 
Improve various error messages. 
- 
Add startpage/default-pagevalues totabs -> last-close.
- 
Various improvements to :restart- it should be more robust now and uses sessions so all state (focused tab, scroll position, etc.) gets remembered.
- 
Add tab index display to the statusbar. 
- 
Keep progress bar height fixed when the statusbar is multiline. 
- 
Many improvements to tests and related infrastructure: - 
init_venv.pyandrun_checks.pyhave been replaced by tox. Install tox and runtox -e mkvenvinstead.
- 
The tests now use pytest 
- 
Many new tests added 
- 
Mac Mini buildbot to run the tests on OS X. 
- 
Coverage recording via coverage.py. 
- 
New --pdb-postmortem argumentto drop into the pdb debugger on exceptions.
- 
Use hunter for line tracing instead of a selfmade solution. 
 
- 
Deprecated
- 
The :run-userscriptcommand - use:spawn --userscriptinstead.
- 
The rapidandrapid-wintargets for:hint- use the--rapidargument to:hintinstead.
- 
The :cancel-downloadcommand - use:download-cancelinstead.
- 
The :download-pagecommand - use:downloadinstead.
Removed
- 
init_venv.pyandrun_checks.pyhave been replaced by tox. Install tox and runtox -e mkvenvinstead..
Fixed
- 
Fix for cache never being used. 
- 
Fixed handling of key release events (e.g. for javascript) when holding a key and pressing a second one. 
- 
Fix handling of commands using ;;at various places (key config, command parser,:bind)
- 
Fix splitting of flags with arguments ( :bind -m/--mode).
- 
Fix bindings of special keys with lower-case modifiers (e.g. <ctrl-x>)
- 
Fix for weird search highlights when changing tabs while search is active. 
- 
Fix starting with -c "".
- 
Fix removing of partial downloads when a download is cancelled via context menu. 
- 
Fix retrying of downloads which were started in a now closed tab. 
- 
Highlight text case-insensitively in completion. 
- 
Scroll completion to top when showing it. 
- 
Handle unencodable file paths in config types correctly. 
- 
Fix for crash when executing a delayed command (because of a shadowed keybinding) and then unfocusing the window. 
- 
Fix for crash when hinting on a page which doesn’t have an URL yet. 
- 
Fix exception when using :set-cmd-textwith an empty argument.
- 
Add a timeout to pastebin HTTP replies. 
- 
Various other fixes for small/rare bugs. 
v0.1.4
Changed
- 
The Windows builds come with Qt 5.4.1 which has some related bugfixes. 
- 
Improvements to CPU usage when idle. 
- 
Ensure there’s no size for font-familysettings.
- 
Handle URLs with double-colon as search strings. 
- 
Adjust prompt size hint based on content. 
- 
Refactor websettings and save/restore defaults. 
- 
Various small improvements to logging. 
- 
Various improvements for hinting. 
- 
Improve parsing of faulthandlerlogs.
Removed
- 
Remove default search engines. 
- 
Remove debug console completing completely. 
Fixed
- 
Ignore RuntimeError in mouserelease_insertmode.
- 
Hide Qt warning when aborting download reply. 
- 
Hide "Error while shutting down tabs" message. 
- 
Clear open target in acceptNavigationRequest.
- 
Fix handling of signals with deleted tabs. 
- 
Restore sys.std*inutils.fake_ioon exceptions.
- 
Allow font names with integers in them. 
- 
Fix QIODevicewarnings when closing tabs.
- 
Set the QSettingspath to a config-subdirectory.
- 
Add workaround for adblock-message without window. 
- 
Fix searching for terms starting with a slash. 
- 
Ignore tab key presses if they’d switch focus. 
Security
- 
Stop the icon database from being created when private-browsing is set to true. 
- 
Disable insecure SSL ciphers. 
v0.1.3
Changed
- 
Various small logging improvements. 
- 
Don’t open relative files in fuzzy_urlwith:open
- 
Various crashdialog improvements. 
- 
Hide adblocked iframes. 
Fixed
- 
Handle shutdown of page with prompt correctly. 
- 
fuzzy_url: handle invalid URLs with autosearch off 
- 
Handle explicit searches with auto-search=false.
- 
Abort download override question on error/cancel. 
- 
Set a higher z-index for hint labels. 
- 
Close contextmenu when closing tab to avoid crash. 
- 
Fix statusbar quickly popping up as window. 
- 
Clean up NetworkManagerafter downloads finished.
- 
Fix restoring of cmd widget after an error. 
- 
Fix retrying of downloads after the tab is closed. 
- 
Fix check_libraries()output for Arch Linux.
- 
Handle all IPCErrorsproperly.
- 
Handle another webelem.IsNullErrorwith hints.
- 
Handle UnicodeDecodeErrorwhen reading configs.
Security
- 
Fix for HTTP passwords accidentally being written to debug log. 
v0.1.2
Changed
- 
Uncheck sending of debug log by default when private browsing is on. 
- 
Add SSL info to version info. 
Removed
- 
Remove hosts-file.net from blocker default lists. 
Fixed
- 
Fix rare exception when a key is pressed shortly after opening a window 
- 
Fix exception with certain invalid URLs like http:foo:0
- 
Work around Qt bug which renders checkboxes on OS X unusable 
- 
Fix exception when a local files can’t be read in :adblock-update
- 
Hide 2 more Qt warnings. 
- 
Add !importantto hint CSS so websites don’t override the hint look
- 
Make init_venv.pywork with multiple sip.sofiles.
- 
Fix splitting with certain commands with an empty argument 
- 
Fix uppercase hints. 
- 
Fix segfaults if another page is loaded while a prompt is open 
- 
Fix exception with invalid ShellCommandconfig values.
- 
Replace unencodable chars 
- 
Fix user-stylesheet setting with an empty value. 
v0.1.1
Added
- 
Set window icon and add a qutebrowser.ico file for Windows. 
- 
Ask the user when downloading to an already existing file. 
- 
Add a network -> proxy-dns-requestsoption.
- 
Add "Remove finished" to the download context menu 
- 
Open and remove clicked downloads. 
Changes
- 
Windows releases are now built with Qt 5.4 which brings many improvements and bugfixes. 
- 
Add a troubleshooting section to the FAQ. 
- 
Display IPC errors to the user. 
- 
Rewrite keymode handling to use only one mode which also fixes various bugs. 
- 
Save version to state config. 
- 
Set zoom to default instead of 100% with :zoom/=.
- 
Adjust page zoom if default zoom changed. 
- 
Force tabs to be focused on :undo.
- 
Replace manual installation instructions on OS X with homebrew/macports. 
- 
Allow min-/maximizing of print preview on Windows. 
- 
Various documentation improvements. 
- 
Various other small improvements and cleanups. 
Removed
- 
Clean up and temporarily disable alias completion. 
Fixed
- 
Fix setting of QWebSettings(e.g. web fonts) with empty strings.
- 
Re-focus web view when leaving prompt/yesno mode. 
- 
Handle :restartcorrectly with Python eggs.
- 
Handle an invalid cwd properly. 
- 
Fix popping of a dead question in prompter. 
- 
Fix AttributeErroron config changes on Ubuntu.
- 
Don’t treat things like "31c3" as IP address. 
- 
Handle category being Nonein Qt message handler.
- 
Force-include pygments in freeze.py.
- 
Fix scroll percentage not updating on some pages like twitter. 
- 
Encode Content-Dispositionheader name properly.
- 
Fix item sorting in NeighborList.
- 
Handle data being Nonein download read timer.
- 
Stop download read timer when reply has finished. 
- 
Fix handling of small/big fuzzyval's inNeighborList.
- 
Fix crashes when entering invalid values in qute:settings.
- 
Abort questions in NetworkManagerwhen destroyed.
- 
Fix height calculation of download view. 
- 
Always auto-remove adblock downloads when done. 
- 
Ensure the docs get included in freeze.py.
- 
Fix crash with :zoom.
v0.1
Initial release.