Removed
- The following command aliases were deprecated in v2.0.0 and are now removed:
run-macro
->macro-run
record-macro
->macro-record
buffer
->tab-select
open-editor
->edit-text
toggle-selection
->selection-toggle
drop-selection
->selection-drop
reverse-selection
->selection-reverse
follow-selected
->selection-follow
follow-hint
->hint-follow
enter-mode
->mode-enter
leave-mode
->mode-leave
Added
- New
:screenshot
command which can be used to screenshot the visible part of
the page. - New optional dependency on the
importlib_metadata
project on Python 3.7 and
below. This is only relevant when PyQtWebEngine is installed via pip - thus,
this dependency usually isn't relevant for packagers. - New
qute-keepassxc
userscript integrating with the KeePassXC browser API.
Changed
- Initial support for QtWebEngine 5.15.3 and PyQt 5.15.3/.4
- The
colors.webpage.prefers_color_scheme_dark
setting got renamed to
colors.webpage.preferred_color_scheme
and now takes the valuesauto
,light
anddark
(instead of beingTrue
for dark andFalse
for auto).
Note that thelight
value is only supported with Qt 5.15.2+, falling back to
the same behavior asauto
on older versions. - On Linux, qutebrowser now tries harder to find details about the installed
QtWebEngine version by inspecting the QtWebEngine binary. This should reduce
issues with dark mode (and some workarounds) not working when using differing
versions of QtWebEngine/PyQtWebEngine/Qt.
This change also prepares qutebrowser for QtWebEngine 5.15.3, which will get
released without an updated Qt. - When PyQtWebEngine >= 5.15.3 is installed via
pip
(as is e.g. the case with
mkvenv.py
), qutebrowser now queries the associated metadata to find out the
QtWebEngine version. - When doing
:hint links yank --rapid
, the messages shown now replace each
other, thus being less noisy. - Newlines in JavaScript messages (
confirm
,prompt
andalert
) are now
preserved. - Messages in prompts are now word-wrapped rather than displaying them in one
long line. - If a command stats with space (e.g.
: open ...
, it's now not saved to
command history anymore (similar to how some shells work). - When a tab is pinned, running
:open
will now open a new tab instead of
displaying an error. - The
fileselect.*.command
settings now support file selectors writing the
selected paths to stdout, which is used if no{}
placeholder is contained in
the configured command. - The
--debug-flag
argument now understands a newlog-sensitive-keys
value
which logs all keypresses (including those in insert/passthrough/prompt/...
mode) for debugging. - The
readability
andreadability-js
userscripts now add a
qute-readability
CSS class to the page, so that it can be styled easily via
a user stylesheet.
Fixed
- With QtWebEngine 5.15.3 and some locales, Chromium can't start its
subprocesses. As a result, qutebrowser only shows a blank page and logs
"Network service crashed, restarting service.". This release adds a
qt.workarounds.locale
setting working around the issue. It is disabled by
default since distributions shipping 5.15.3 will probably have a proper patch
for it backported very soon. - The
colors.webpage.preferred_color_scheme
andcolors.webpage.darkmode.*
settings now work correctly with QtWebEngine 5.15.3 (and Gentoo, which at the
time of writing packages 5.15.3 disguised as 5.15.2). - When dark mode settings were set, existing
blink-features
arguments in
qt.args
(or--qt-flag
) were overridden. They are now combined properly. - On QtWebEngine 5.15.2, auto detection for the
prefers-color-scheme
media
query is broken and always returnsno-preference
, which was removed from the
CSS WG Specification. This release contains a workaround to always return
light
instead (as per the spec). - When an external file selector deletes the temporary file (like
nnn
does
when quitting the terminal), qutebrowser would crash. It now displays an
error instead. The same applies if the temporary file is unreadable for any
other reason. - On macOS, a change in v2.0.x caused certain shortcuts to not work with Cmd
anymore, using Ctrl instead. They now work correctly using Cmd (like usual on
macOS) again. - On macOS, using
F
(hint all tab
) sometimes would open a context menu
instead of following a link. This is now fixed. - The quirk added for a missing
String.replaceAll
did not handle special
regexp characters correctly, thus breaking some sites. It now handles them
properly. - The "try again" button on error pages now works correctly with JavaScript
disabled. - If a GreaseMonkey script doesn't have a "@run-at" comment, qutebrowser
accidentally treated that as "@run-at document-idle". However, other
GreaseMonkey implementations default to "@run-at document-end" instead, which
is what qutebrowser now does, too. - The
hist_importer.py
script didn't work correctly after qutebrowser v2.0.0
and resulted in a history database qutebrowser couldn't read properly. It now
works properly again. - With certain QtWebEngine versions (5.15.0 based on Chromium 80 and 5.15.3
based on Chromium 87), Chromium's dark mode doesn't invert certain SVG images,
even withcolors.wegpage.darkmode.policy.images
set tosmart
.
Most notably, this causes formulae on Wikipedia to display black on (almost)
black. Ifcontent.site_specific_quirks
is enabled, qutebrowser now injects
some CSS as a workaround, which inverts all math formula images on Wikipedia
(and potentially other sites, if they use the same CSS class). - When a hint label text started with an apostrophe, it would show an escaped
text until the hints first character has been pressed. It now shows up
correctly.