Releases: qutebrowser/qutebrowser
Releases · qutebrowser/qutebrowser
qutebrowser 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
qutebrowser v0.8.0
Added
- New
:repeat-command
command (mapped to.
) to repeat the last command.
Note that two former default bundings conflict with that binding, unbinding
them via:unbind .i
and:unbind .o
is recommended. - New
qute:bookmarks
page 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
;t
for:hint input
. - New variables
$QUTE_CONFIG_DIR
,$QUTE_DATA_DIR
and
$QUTE_DOWNLOAD_DIR
available for userscripts. - New option
ui
->status-position
to configure the position of the
status bar (top/bottom). - New
--pdf <filename>
argument for:print
which can be used to generate a
PDF without a dialog.
Changed
:scroll-perc
now prefers a count over the argument given to it, which means
gg
can be used with a count.- Aliases can now use
;;
to have an alias which executed multiple commands. :edit-url
now does nothing if the URL isn't changed in the spawned editor.:bookmark-add
can now be passed a URL and title to add that as a bookmark
rather than the current page.- New
taskadd
userscript to add a taskwarrior task annotated with the
current URL. :bookmark-del
and:quickmark-del
now 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-messages
setting. - The
general -> wrap-search
setting as searches now always wrap.
According to a quick straw poll and prior crash logs, almost nobody is using
wrap-search = false
, and turning off wrapping is not possible with
QtWebEngine. :edit-url
now doesn't accept a count anymore as its behavior was confusing
and it doesn't make much sense to add a count.
qutebrowser v0.7.0
Added
- New
:edit-url
command to edit the URL in an external editor. - New
network -> custom-headers
setting 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-mark
command to jump to a mark, bound to'
- New
:set-mark
command 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
- New
--force-color
argument to force colored logging even if stdout is not a
terminal - New
:messages
command 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-timeout
setting to ignore keypresses after
following a hint when filtering in number mode. - New
:history-clear
command to clear the entire history - New
hints -> find-implementation
to select which implementation (JS/Python)
should be used to find hints on a page. Thejavascript
implementation is
better, but slower.
Changed
- qutebrowser got a new (slightly updated) logo
:tab-focus
can now take a negative index to focus the nth tab counted from
the right.:yank
can now yank the pretty/decoded URL by adding--pretty
:navigate
now clears the URL fragment:completion-item-del
(Ctrl-D
) can now be used in:buffer
completion 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-windows
set. :bind <key>
without a command now shows the existing binding- The optional
colorlog
dependency 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
normal
hint target, which can be
useful with javascript click handlers or checkboxes which don't actually open
a new page. :zoom-in
or: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 -> scatter
is 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-r
suffix to the timestamp field.
Fixed
- Fixed using
:hint links spawn
with flags - you can now use things like the
-v
argument for:spawn
or 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-console
with PyQt 5.6 - Fixed qutebrowser not starting when
sys.stderr
isNone
- 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
FileNotFoundError
when starting in some cases on old Qt versions - Fixed sharing of cookies between tabs when
private-browsing
is enabled - Toggling values with
:set
now 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
qutebrowser v0.6.2
Fixed
- Fixed crash when using
:tab-{prev,next,focus}
right after closing the last
tab withlast-close
set toclose
. - Fixed crash when doing
:undo
in a new instance withtabs -> last-close
set
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
qutebrowser 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
qutebrowser v0.6.0
Added
- New
:buffer
command to easily switch tabs by name. This is not bound to a
key by default for existing users due to a conflict with thegt
/gT
bindings (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
--quiet
argument for the:debug-pyeval
command to not open a tab with
the results. Note:debug-pyeval
is still only intended for debugging. - The completion now matches each entered word separately.
- A new command
:paste-primary
got added to paste the primary selection, and
<Shift-Insert>
got added as a binding so it pastes primary rather than
clipboard. - New mode
word
forhints -> mode
which uses a dictionary and link-texts
for hints instead of single characters. - New
--all
argument for:download-cancel
to cancel all running downloads. - New
password_fill
userscript to fill passwords using thepass
executable. - New
current
hinting mode which forces opening hints in the current tab
(even withtarget="_blank"
)
Changed
- Pasting multiple lines via
:paste
now opens each line in a new tab. :navigate increment/decrement
now preserves leading zeroes in URLs.general -> editor
can now also handle{}
inside another argument (e.g. to openvim
viatermite
)- Improved performance when scrolling with many tabs open.
- Shift-Insert now also pastes primary selection for prompts.
:download-remove --all
got 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-hosts
file 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-downloads
setting. - 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
/gT
bindings (luakit-like alternatives toJ
/K
) were removed
(except for existing configs) to make room for thegt
binding to show
buffers.
qutebrowser 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.
qutebrowser 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-enabled
setting. - New setting
ui -> hide-wayland-decoration
to hide the window decoration
when using wayland. - New userscripts in
misc/userscripts
:open_download
to easily open a file in your downloads folder.view_in_mpv
to open a video in mpv and remove it from the page.qutedmenu
anddmenu_qutebrowser
to select URLs via dmenu
- New setting
content -> host-blocking-whitelist
to whitelist certain domains
from the adblocker. {scroll_pos}
can now be used inui -> window-title-format
and
tabs -> title-format
.- New setting
general -> url-incdec-segments
to configure which segments of
the URL should be affected by:navigate increment/decrement
. - New
--target
argument to specify how URLs should be opened in an existing
instance. - New setting
statusbar.url.fg.success.https
to 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
none
for 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-retry
to retry a failed download. - New command
:download-clear
which replaces:download-remove --all
. :set-cmd-text
has a new--append
argument to append to the current
statusbar text.- qutebrowser now uses
~/.netrc
if available to authenticate via HTTP. - New
:fake-key
command to send a fake keypress to a website or to
qutebrowser. - New
--mhtml
argument for:download
to download a page including all
ressources as MHTML file. - New option
tabs -> title-alignment
to change the alignment of tab titles.
Changed
- The
colors -> tabs.bg/fg.selected
option got split into
tabs.bg/fg.selected.odd/even
. :spawn --userscript
and:hint
with theuserscript
target now look up
relative paths in~/.local/share/qutebrowser/userscripts
or
$XDG_DATA_DIR
. Using a binary in$PATH
won'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-downloads
option 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-hint
command now optionally takes the keystring of a hint to
follow. :scroll-px
now doesn't take floats anymore, which made little sense.- Updated the user agent list for the
:set network user-agent
completion. - Starting with
--debug
doesn't logVDEBUG
messages anymore (add
--loglevel VDEBUG
to get them). :debug-console
now hides the console if it's already shown.:yank-selected
now doesn't log the selected text anymore.general -> log-javascript-console
got changed from a boolean to an option
taking a loglevel (none
,info
,debug
).:tab-move +/-
now wraps around iftabs -> wrap
istrue
.- 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 --all
is now deprecated and:download-clear
should be
used instead.:download <url> <destination>
is now deprecated and
:download --dest <destination> <url>
should be used instead.
Removed
:scroll
with two pixel-arguments (deprecated in v0.3.0)- The
:run-userscript
command (deprecated in v0.2.0) - The
rapid
andrapid-win
targets for:hint
(deprecated in v0.2.0) - The
:cancel-download
command (deprecated in v0.2.0) - The
:download-page
command (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-items
is 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-directory
was unset. - Fixed crash when using
:follow-hint
outside 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-keys
set toauto
. - Fixed restarting after a crash is reported.
- Removed
.pyc
files accidentally contained in source releases.
qutebrowser v0.4.1
- 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-items
setting 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
PendingDeprecationWarnings
shown with Python 3.5.
qutebrowser v0.4.0
Added
- New bookmark functionality (similar to quickmarks without a name).
- New command
:bookmark-add
to bookmark the current page (bound toM
). - New command
:bookmark-load
to load a bookmark (bound togb
/gB
/wB
).
- New command
- New (hidden) command
:completion-item-del
(bound to<Ctrl-D>
) to delete the current item in the completion (for quickmarks/bookmarks). - New settings
tabs -> padding
andtabs -> indicator-tabbing
to control the size/padding of the tabbar. - New setting
ui -> statusbar-padding
to control the size/padding of the status bar. - New setting
network -> referer-header
to configure when the referer should be sent (by default it's only sent while on the same domain). - New setting
tabs -> show
which supersedes the oldtabs -> hide-*
options and has an additionalswitching
option which shows tab while switching them. There's also a newshow-switching
option to configure the timeout. - New setting
storage -> remember-download-directory
to remember the last used download directory. - New setting
storage -> prompt-download-directory
to 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-selected
command now works in all modes instead of just caret mode and is not hidden anymore. minimal_webkit_testbrowser.py
now has a--webengine
switch 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 -> position
andui -> downloads-position
got changed fromnorth
/south
/west/
eastto
top/
bottom/
left/
right`. Existing configs should be adjusted automatically. :tab-focus
/gt
now behaves like:tab-next
if 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.py
now 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
:set
with-p
and!
(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-space
setting got removed as the new padding settings should be used instead. - The
tabs -> hide-always
andtabs -> hide-auto
settings got merged into the newtabs -> show
setting.