All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
v0.11.0 (unreleased)
New dependencies
-
New dependency on
PyQt5.QtOpenGLif QtWebEngine is used. QtWebEngine depends on QtOpenGL already, but on distributions packaging split PyQt5 wrappers, the wrappers for QtOpenGL are now required. -
New dependency on
PyOpenGLif QtWebEngine is used.
Added
-
New
-pflag for:opento open a private window. -
New "pinned tabs" feature, with a new
:tab-pincommand (bound to<Ctrl-p>by default). -
(QtWebEngine) Implemented
:follow-selected. -
New
:clear-messagescommand to clear shown messages. -
New
ui -> keyhint-delaysetting to configure the delay until the keyhint overlay pops up. -
New
-soption for:opento force a HTTPS scheme. -
:debug-log-filternow acceptsnoneas an argument to clear any log filters. -
New
--debug-flagargument which replaces--debug-exitand--pdb-postmortem. -
New
tabs -> favicon-scaleoption to scale up/down favicons. -
colors -> statusbar.bg/fg.privateand.command.privateto customize statusbar colors for private windows. -
New
{private}field displaying[Private Mode]forui -> window-title-formatandtabs -> title-format. -
(QtWebEngine) Proxy support with Qt 5.7.1 too
Changed
-
To prevent elaborate phishing attacks, the Punycode version (
xn--*) is now shown in addition to the decoded version for international domain names (IDN). -
Private browsing is now implemented for QtWebEngine, and changed it’s behavior: The
general -> private-browsingsetting now only applies to newly opened windows, and you can use the-pflag to:opento open a private window. -
Improved
qute://historypage (with lazy loading) -
Starting with legacy QtWebKit now shows a warning message once.
-
Crash reports are not public anymore.
-
Paths like
C:are now treated as absolute paths on Windows for downloads, and invalid paths are handled properly. -
PAC on QtWebKit now supports SOCKS5 as type.
-
Comments in the config file are now before the individual options instead of being before sections.
-
Messages are now hidden when clicked.
-
stdin is now closed immediately for processes spawned from qutebrowser.
-
When
ui -> message-timeoutis set to 0, messages are now never cleared. -
Middle/right-clicking the blank parts of the tab bar (when vertical) now closes the current tab.
-
(QtWebEngine) With Qt 5.9,
content -> cookies-storecan now be set without a restart. -
(QtWebEngine) With Qt 5.9, better error messages are now shown for failed downloads.
-
The adblocker now also blocks non-GET requests (e.g. POST).
-
javascript:links can now be hinted. -
:view-source,:tab-cloneand:navigate --tabnow don’t open the tab as "explicit" anymore, i.e. (with the default settings) open it next to the active tab. -
(QtWebEngine) The underlying Chromium version is now shown in the version info.
-
qute:*pages now usequte://*instead (e.g.qute://versioninstead ofqute:version), but the old versions are automatically redirected. -
The Windows releases are redone from scratch, which means:
-
They now use the new QtWebEngine backend
-
The bundled Qt is updated from 5.5 to 5.9
-
The bundled Python is updated from 3.4 to 3.6
-
They are now generated with PyInstaller instead of cx_Freeze
-
The installer is now generated using NSIS instead of being a MSI
-
Texts in prompts are now selectable.
-
Renderer process crashes now show an error page.
-
(QtWebKit) storage → offline-web-application-storage` got renamed to
...-cache -
The default level for
:messagesis nowinfo, noterror -
Trying to focus the currently focused tab with
:tab-focusnow focuses the last viewed tab.
Fixed
-
The macOS .dmg is now built against Qt 5.9 which fixes various important issues (such as not being able to type dead keys).
-
(QtWebEngine) Added a workaround for a black screen with some setups (the workaround requires PyOpenGL to be installed, but it’s optional)
-
(QtWebEngine) Starting with Nouveau graphics now shows an error message instead of crashing in Qt. This adds a new dependency on
PyQt5.QtOpenGL. -
(QtWebEngine) Retrying downloads now shows an error instead of crashing.
-
(QtWebEngine) Cloning a view-source tab now doesn’t crash anymore.
-
(QtWebKit) The HTTP cache is disabled on Qt 5.7.1 and 5.8 now as it leads to frequent crashes due to a Qt bug.
-
Fixed crash with
:downloadon PyQt 5.9. -
Cloning a page without history doesn’t crash anymore.
-
When a download results in a HTTP error, it now shows the error correctly instead of crashing.
-
Pressing ctrl-c while a config error is shown works as intended now.
-
When the key config isn’t writable, we now show an error instead of crashing.
-
Fixed crash when unbinding an unbound key in the key config.
-
Fixed crash when using
:debug-log-filterwhen--filterwasn’t given on startup. -
Fixed crash with some invalid setting values.
-
(QtWebKit) Fixed Crash when a PAC file returns an invalid value.
-
Continuing a search after clearing it now works correctly.
-
The tabbar and completion should now be more consistently and correctly styled with various system styles.
-
Applying styiles in
qt5ctnow shouldn’t crash anymore. -
The validation for colors in stylesheets is now less strict, allowing for all valid Qt values.
-
data:URLs now aren’t added to the history anymore. -
(QtWebEngine)
window.navigator.userAgentis now set correctly when customizing the user agent. -
Accidentally starting with Python 2 now shows a proper error message again.
-
(QtWebEngine) HTML fullscreen is now tracked for each tab separately, which means it’s not possible anymore to accidentally get stuck in fullscreen state by closing a tab with a fullscreen video.
-
For some people, running some userscripts crashed - this should now be fixed.
-
Various other rare crashes should now be fixed.
-
The settings documentation was truncated with v0.10.1 which should now be fixed.
-
Scrolling to an anchor in a background tab now works correctly, and javascript gets the correct window size for background tabs.
-
(QtWebEngine)
:scroll-pagewith--bottom-navigatenow works correctly
v0.10.1
Changed
-
--qt-argand--qt-flagcan now also be used to pass arguments to Chromium when using QtWebEngine.
Fixed
-
URLs are now redacted properly (username/password, and path/query for HTTPS) when using Proxy Autoconfig with QtWebKit
-
Crash when updating adblock lists with invalid UTF8-chars in them
-
Fixed the web inspector with QtWebEngine
-
Version checks when starting qutebrowser now also take the Qt version PyQt was compiled against into account
-
Hinting a input now doesn’t select existing text anymore with QtWebKit
-
The cursor now moves to the end when input elements are selected with QtWebEngine
-
Download suffixes like (1) are now correctly stripped with QtWebEngine
-
Crash when trying to print a tab which was closed in the meantime
-
Crash when trying to open a file twice on Windows
v0.10.0
Added
-
Userscripts now have a new
$QUTE_COMMANDLINE_TEXTenvironment variable, containing the current commandline contents -
New
ripbanguserscript to create a searchengine from a duckduckgo bang -
QtWebKit Reloaded (also called QtWebKit-NG) is now fully supported
-
Various new functionality with the QtWebEngine backend:
-
Printing support with Qt >= 5.8
-
Proxy support with Qt >= 5.8
-
The
general -> print-element-backgroundsoption with Qt >= 5.8 -
The
content -> cookies-storeoption -
The
storage -> cache-sizeoption -
The
colors -> webpage.bgoption -
The HTML5 fullscreen API (e.g. youtube videos) with QtWebEngine
-
:download --mhtml
-
-
New
qute:historyURL and:historycommand to show the browsing history -
Open tabs are now auto-saved on each successful load and restored in case of a crash
-
:jsevalnow has a--fileflag so you can pass a javascript file -
:session-savenow has a--only-active-windowflag to only save the active window -
OS X builds are back, and built with QtWebEngine
Changed
-
PyQt 5.7/Qt 5.7.1 is now required for the QtWebEngine backend
-
Scrolling with the scrollwheel while holding shift now scrolls sideways
-
New way of clicking hints which solves various small issues
-
When yanking a mailto: link via hints, the mailto: prefix is now stripped
-
Zoom level messages are now not stacked on top of each other anymore
-
qutebrowser now automatically uses QtWebEngine if QtWebKit is unavailable
-
:history-clear now asks for a confirmation, unless it’s run with --force.
-
input -> mouse-zoom-dividercan now be 0 to disable zooming by mouse wheel -
network -> proxycan also be set topac+file://...now to use a local proxy autoconfig file (on QtWebKit)
Removed
-
(QtWebKit) Various rarely customized settings were removed:
-
ui -> css-media-type(defaults to desktop) -
general -> site-specific-quirks(now always turned on) -
storage -> offline-storage-default-quota(defaults to 5MB) -
storage -> offline-web-application-cache-quota(defaults to no quota) -
storage -> object-cache-capacities(default depends on disk space) -
content -> css-regions(now always turned off) -
storage -> offline-storage-database(merged intostorage -> local-storage)
Fixed
-
Various bugs with Qt 5.8 and QtWebEngine:
-
Segfault when closing a window
-
Segfault when closing a tab with a search active
-
Fixed various mouse actions (like automatically entering insert mode) not working
-
Fixed hints sometimes not working
-
Segfault when opening a URL after a QtWebEngine renderer process crash
-
-
Other QtWebEngine fixes:
-
Insert mode now gets entered correctly with a non-100% zoom
-
Crash reports are now re-enabled when using QtWebEngine
-
Fixed crashes when closing tabs while hinting
-
Using :undo or :tab-clone with a view-source:// or chrome:// tab is now prevented, as it segfaults
-
-
:enter-modenow refuses to enter modes which can’t be entered manually (which caused crashes) -
:record-macro(q) now doesn’t try to record macros for special keys without a text -
Fixed PAC (proxy autoconfig) not working with QtWebKit
-
:download --mhtmlnow uses the new file dialog -
Word hints are now upper-cased correctly when hints → uppercase is true
-
Font validation is now more permissive in the config, allowing e.g. "Terminus (TTF)" as font name
-
Fixed starting on newer PyQt/sip versions with LibreSSL
-
When downloading files with QtWebKit, a User-Agent header is set when possible
-
Fixed showing of keybindings in the :help completion
-
:navigate prev/nextnow detectsrelattributes on<a>elements, and handles multiplerelattributes correctly -
Fixed a crash when hinting with target
userscriptand spawning a non-existing script -
Lines in Jupyter notebook now trigger insert mode
v0.9.1
Fixed
-
Prevent websites from downloading files to a location outside of the download folder with QtWebEngine.
v0.9.0
Added
-
New dependency: qutebrowser now depends on the Qt QML module, which is packaged separately in some distributions (as Qt Declarative/QML/Quick).
-
New
:rl-backward-kill-wordcommand which does what:rl-unix-word-ruboutdid before v0.8.0. -
New
:rl-unix-filename-ruboutcommand which is similar to readline’sunix-filename-rubout. -
New
fonts -> completion.categorysetting to customize the font used for completion category headers. -
New
:debug-log-capacitycommand to adjust how many lines are logged into RAM (to report bugs which are difficult to reproduce). -
New
hide-unmatched-rapid-hintsoption to not hide hint unmatched hint labels in rapid mode. -
New
{clipboard}and{primary}replacements for the commandline which replace the:pastecommand. -
New
:insert-textcommand to insert a given text into a field on the page, which replaces:paste-primarytogether with the{primary}replacement. -
New
:window-onlycommand to close all other windows. -
New
prev-categoryandnext-categoryarguments to:completion-item-focusto focus the previous/next category in the completion (bound to<Ctrl-Tab>and<Ctrl-Shift-Tab>by default). -
New
:click-elementcommand to fake a click on a element. -
New
:debug-log-filtercommand to change console log filtering on-the-fly. -
New
:debug-log-levelcommand to change the console loglevel on-the-fly. -
New
general -> yank-ignored-url-parametersoption to configure which URL parameters (likeutm_sourceetc.) to strip off when yanking an URL. -
Support for the HTML5 page visibility API
-
New
readabilityuserscript which shows a readable version of a page (using thereadability-lxmlpython package) -
New
castuserscript to show a video on a Google Chromecast -
New
:run-with-countcommand which replaces the (undocumented):count:commandsyntax. -
New
:record-macro(q) and:run-macro(@) commands for keyboard macros. -
New
ui -> hide-scrollbarsetting to hide the scrollbar independently of theuser-stylesheetsetting. -
New
general -> default-open-dispatchersetting to configure what to open downloads with (instead of e.g.xdg-openon Linux). -
Support for PAC (proxy autoconfig) with QtWebKit
Changed
-
Hints are now drawn natively in Qt instead of using web elements. This has a few implications for users:
-
The
hints -> opacitysetting does not exist anymore, but you can usergba(r, g, b, alpha)colors instead forcolors -> hints.bg. -
The
hints -> fontsetting is not affected byfonts -> web-family-fixedanymore. Thus, a transformer got added to changeMonospaceto${_monospace}. -
Gradients in hint colors can now be configured by using
qlineargradientand friends instead of-webkit-gradient. The most common cases get migrated automatically, but if you drastically changed the defaults, you’ll need to manually adjust your config. -
Styling hints by styling
qutehintelements inuser-stylesheetwas never officially supported and does not work anymore. -
Hints are now not affected by the page’s stylesheet or zoom anymore.
-
-
:bookmark-addnow has a--toggleflag which deletes the bookmark if it already exists. -
:bookmark-loadnow has a--deleteflag which deletes the bookmark after loading it. -
:opennow also accepts quickmark names instead of URLs -
:tab-movenow optionally takes an index for absolute moving. -
Commands taking either an argument or a count (like
:zoomor:tab-focus) now prefer the count instead of showing an error message. -
:opennow has an--implicitargument to treat the opened tab as implicit (i.e. to open it at the position it would be opened if it was a clicked link) -
:download-openand:prompt-open-downloadnow have an optionalcmdlineargument to pass a commandline to open the download with. -
:yanknow has a position argument to select what to yank instead of using flags. -
Replacements like
{url}can now also be used in the middle of an argument. Consequently, commands taking another command (:later,:repeatand:bind) now don’t immediately evaluate variables. -
Tab titles in the
:buffercompletion now update correctly when a page’s title is changed via javascript. -
:hintnow has a--mode <mode>flag to override the hint mode configured using thehints -> modesetting. -
With
new-instance-open-targetset to a tab option, the tab is now opened in the most recently focused (instead of the last opened) window. This can be configured with the newnew-instance-open-target.windowsetting. It can also be set tolast-visibleto show the pages in the most recently visible window, orfirst-openedto use the first (oldest) available window. -
Word hints now are more clever about getting the element text from some elements.
-
Completions for
:helpand:bindnow also show hidden commands -
The
:buffercompletion now also filters using the first column (id). -
:undohas been improved to reopen tabs at the position they were closed. -
:navigatenow takes a count forup/increment/decrement. -
The
hints -> auto-followsetting now can be set toalways/full-match/unique-match/neverto more precisely control when hints should be followed automatically. -
Counts can now be used with special keybindings (e.g. with modifiers). This was already implemented for v0.7.0 originally, but got reverted because it caused some issues and then never re-applied.
-
Sending a command to an existing instance (via "qutebrowser :reload") now doesn’t mark it as urgent anymore.
-
tabs -> title-formatnow treats an empty string as valid. -
Bindings for
:,/and?are now configured explicitly and not hardcoded anymore. -
The
completion -> showsetting can now be set toalways,autoornever. -
:open-editorcan now be used in any mode. -
Lots of improvements to and bugfixes for the QtWebEngine backend, such as working hints. However, using qutebrowser directly from git is still advised when using
--backend webengine. -
content -> javascript-can-open-windowsgot renamed tojavascript-can-open-windows-automatically. -
:prompt-acceptnow optionally accepts a value which overrides the one entered in the input box.yesandnocan be used as values for yes/no questions. -
The new
--qt-argand--qt-flagarguments can be used to pass arguments/flags to Qt’s commandline. -
Error/warning/info messages are now shown stacked above the statusbar. This also added various new settings:
-
colors -> messages.fg.error(renamed fromstatusbar.fg.error) -
colors -> messages.bg.error(renamed fromstatusbar.bg.error) -
colors -> messages.border.error -
colors -> messages.fg.warning(renamed fromstatusbar.fg.warning) -
colors -> messages.bg.warning(renamed fromstatusbar.bg.warning) -
colors -> messages.border.warning -
colors -> messages.fg.info -
colors -> messages.bg.info -
colors -> messages.border.info -
fonts -> messages.error -
fonts -> messages.warning -
fonts -> messages.info
-
-
The
qute:settingspage now also shows option descriptions. -
qute:versionandqutebrowser --versionnow show various important paths -
:spawn/userscripts now show a nicer error when a script wasn’t found -
Various functionality now works when javascript is disabled with QtWebKit
-
Various commands/settings taking
left/right/previousarguments now takeprev/next/last-usedto remove ambiguity. -
The
ui -> user-stylesheetsetting now only takes filenames, not CSS snippets -
ui -> window-title-formatnow has a new `xhtml11 ` replacement -
:hinthas a new--add-historyargument to add the URL to the history for yank/spawn targets. -
:setnow cycles through values if more than one argument is given. -
:opennow opensdefault-pagewithout an URL even without-t/-b/-wgiven.
Deprecated
-
The
:pastecommand got deprecated as:openwith{clipboard}and{primary}can be used instead. -
The
:paste-primarycommand got deprecated as:insert-text {primary}can be used instead. -
The
:prompt-yesand:prompt-nocommands got deprecated as:prompt-accept yesand:prompt-accept nocan be used instead.
Removed
-
The
:yank-selectedcommand got merged into:yankas:yank selectionand thus removed. -
The
:completion-item-prevand:completion-item-nextcommands got merged into a new:completion-focus {prev,next}command and thus removed. -
The
ui -> hide-mouse-cursorsetting since it was completely broken and nobody seemed to care. -
The
hints -> opacitysetting - see the "Changed" section for details. -
The
completion -> auto-opensetting got merged intocompletion -> showand thus removed. -
All
--qt-*arguments got replaced by--qt-argand--qt-flagand thus removed. -
The
-c/--confdir,--datadirand--cachedirarguments got removed, as--basedirshould be sufficient.
Fixed
-
:undonow doesn’t undo tabs "closed" by:tab-detachanymore. -
Fixed an issue with hint chars not being cleared correctly when leaving hint mode.
-
:tab-detachnow fails correctly when there’s only one tab open. -
Various small issues with the command completion
-
Fixed hang when using multiple spaces in a row with the URL completion
-
qutebrowser now still starts with an incorrectly configured
$XDG_RUNTIME_DIR. -
Fixed crash when a userscript writes invalid unicode data to the FIFO
-
Fixed crash when a included HTML was not found
v0.8.3
Fixed
-
Fixed crash when doing
:<space><enter>, another corner-case introduced in v0.8.0 -
Fixed
:open-editor(<Ctrl-e>) on Windows -
Fixed crash when setting
general -> auto-save-intervalto a too big value. -
Fixed crash when using hints on Void Linux.
-
Fixed compatibility with Python 3.5.2+ on Debian unstable
-
Compatibility with pdfjs v1.6.210
-
:bindcan now be used to bind to an alias (binding by editingkeys.confalready worked before) -
The command completion now updates correctly when changing aliases
-
The tabbar now displays correctly with the Adwaita Qt theme
-
The default
skkeybinding now sets the commandline to:bindcorrectly -
Fixed crash when closing a window without focusing it
-
Userscripts now can access QUTE_FIFO correctly on Windows
v0.8.2
Fixed
-
Fixed
general -> private-browsingnot being set correctly until a restart (which caused e.g. local storage to be enabled). -
When hinting input fields (
:t), also consider input elements without a type. -
Fixed crash when opening an invalid URL with a percent-encoded and a real @ in it
-
Fixed default
;oand;Obindings -
Fixed local storage not working (and possible other bugs) when using a relative path with
--basedir. -
Fixed crash when deleting a quickmark with Ctrl-D
-
Fixed HTML5 video playback on Windows
-
Fixed crash when using ‘:prompt-open-download` with a file with chars not encodable with the OS’ filesystem encoding (e.g. with
LC_ALL=C) -
Fixed
:prompt-open-downloadwith a too long filename (> 255 bytes) -
Fixed crash when cancelling a download after doing
:prompt-open-download -
Fixed crash when writing a download to disk fails with
:prompt-open-download. -
Fixed
:restartdeleting the basedir when it was given with--basedir.
v0.8.1
Fixed
-
Fix crash when pressing enter without a command
-
Adjust error message to point out QtWebEngine is unsupported with the OS X .app currently.
-
Hide Harfbuzz warning with the OS X .app
v0.8.0
Added
-
New
:repeat-commandcommand (mapped to.) to repeat the last command. Note that two former default bundings conflict with that binding, unbinding them via:unbind .iand:unbind .ois recommended. -
New
qute:bookmarkspage which displays all bookmarks and quickmarks. -
New
:prompt-open-download(bound toCtrl-X) which can be used to open a download directly when getting the filename prompt. -
New
{host}replacement for tab- and window titles which evaluates to the current host. -
New default binding
;tfor:hint input. -
New variables
$QUTE_CONFIG_DIR,$QUTE_DATA_DIRand$QUTE_DOWNLOAD_DIRavailable for userscripts. -
New option
ui→status-positionto configure the position of the status bar (top/bottom). -
New
--pdf <filename>argument for:printWHICH can be used to generate a PDF without a dialog.
Changed
-
:scroll-percnow prefers a count over the argument given to it, which meansggcan be used with a count. -
Aliases can now use
;;to have an alias which executed multiple commands. -
:edit-urlnow does nothing if the URL isn’t changed in the spawned editor. -
:bookmark-addcan now be passed a URL and title to add that as a bookmark rather than the current page. -
New
taskadduserscript to add a taskwarrior task annotated with the current URL. -
:bookmark-deland:quickmark-delnow delete the current page’s URL if none is given.
Fixed
-
Compatibility with PyQt 5.7
-
Fixed some configuration values being lost when a config option gets removed from qutebrowser’s code.
-
Fix crash when downloading with a full disk
-
Using
:jump-mark(e.g.'') when the current URL is invalid doesn’t crash anymore.
Removed
-
The ability to display status messages from webpages, as well as the related
ui -> display-statusbar-messagessetting. -
The
general -> wrap-searchsetting as searches now always wrap. According to a quick straw poll and prior crash logs, almost nobody is usingwrap-search = false, and turning off wrapping is not possible with QtWebEngine. -
:edit-urlnow doesn’t accept a count anymore as its behavior was confusing and it doesn’t make much sense to add a count.
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. -
New
inputsgroup for:hintto hint text input fields.
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 -
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 a 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 an 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 a 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 a 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 a 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.