If the Python adblock library is available, it is now used to
integrate Brave's Rust adblocker library for improved adblocking
based on ABP-like filter lists (such as EasyList).
If it is unavailable, qutebrowser falls back to host-blocking,
i.e. the same blocking technique it used before this release.
As part of this, various settings got renamed, see "Changed"
below.
Note: If the adblock dependency is available, qutebrowser will
ignore custom host blocking via the blocked-hosts config file or
file:/// URLs supplied as host blocking lists. You will need to
either migrate those to ABP-like lists, or set
content.blocking.method to "both".
Note for openSUSE users: The adblock library has not been packaged
yet due to the difficulty of packaging its Rust dependencies.
Removed
* The --enable-webengine-inspector flag (which was only needed for
Qt 5.10 and below) is now dropped. With Qt 5.11 and newer, the
inspector/devtools are enabled unconditionally.
* Support for moving qutebrowser data from versions before v1.0.0
has been removed.
* The --old flag for :config-diff has been removed. It used to show
customized options for the old pre-v1.0 config files (in order to
aid migration to v1.0).
* The :inspector command which was deprecated in v1.13.0 (in favor
of :devtools) is now removed.
Deprecated
* Several commands have been renamed for consistency and/or easier
grouping of related commands. Their old names are still
available, but deprecated and will be removed in qutebrowser
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=102
Added
With v1.14.0, qutebrowser configures the main window to be
transparent, so that it's possible to configure a translucent tab-
or statusbar. However, that change introduced various issues, such
as performance degradation on some systems or breaking dmenu window
embedding with its -w option. To avoid those issues for people who
are not using transparency, the default behavior is reverted to
versions before v1.14.0 in this release. A new window.transparent
setting can be set to true to restore the behavior of v1.14.0.
Fixed
* Setting the content.headers.referer setting to same-domain (the
default) was supposed to truncate referers to only the host with
QtWebEngine. Unfortunately, this functionality broke in Qt 5.14.
It works properly again.
* with this release, including a test so this won't happen again.
* With QtWebEngine 5.15, setting the content.headers.referer
setting to never did still send referers. This is now fixed as
well.
* In v1.14.0, a regression was introduced, causing a crash when
qutebrowser was closed after opening a download with PDF.js.
This is now fixed.
* With Qt 5.12, the Object.fromEntries JavaScript API is
unavailable (it was introduced in Chromium 73, while Qt 5.12 is
based on 69). This caused https://www.vr.fi/en and possibly other
websites to break when accessed with Qt 5.12. A suitable polyfill
is now included with qutebrowser if content.site_specific_quirks
is enabled (which is the default).
* While XDG startup notifications (e.g. launch feedback via the
bouncy cursor in KDE Plasma) were supported ever since Qt 5.1,
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=100
This release still only contains partial session support for
QtWebEngine 5.15. It's still recommended to run against Qt 5.15
due to the security patches contained in it -- for most users,
the added workarounds seem to work out fine. A rewritten session
support will be part of qutebrowser v2.0.0, tentatively planned
for the end of the year or early 2021.
Changed
* The content.media_capture setting got split up into three more
fine-grained settings, content.media.audio_capture,
.video_capture and .audio_video_capture. Before this change,
answering "always" to a prompt about e.g. audio capturing would
set the content.media_capture setting, which would also allow
the same website to capture video on a future visit. Now every
prompt will set the appropriate setting, though existing
content.media_capture settings in autoconfig.yml will be
migrated to set all three settings. To review/change previously
granted permissions, use :config-diff and e.g.
:config-unset -u example.org content.media.video_capture.
* The main window's (invisible) background color is now set to
transparent. This allows using the alpha channel in
statusbar/tabbar colors to get a partially transparent
qutebrowser window on a setup which supports doing so.
* If QtWebEngine is compiled with PipeWire support and
libpipewire is installed, qutebrowser will now support screen
sharing on Wayland. Note that QtWebEngine 5.15.1 is needed.
* When :undo is used with a count, it now reopens the count-th
to last tab instead of the last one. The depth can instead be
passed as an argument, which is also completed.
* The default completion.timestamp_format now also shows the
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=96
Fixed
* With Qt 5.14, shared workers are now disabled. This works
around a crash in QtWebEngine on certain sites (like the Epic
Games Store or the Unreal Engine page).
* When a window is closed, the tab it contains are now correctly
shut down (closing e.g. any dialogs which are still open for
those tabs).
* The Qt 5.15 session workaround now loads the correct (rather
than the last) page when :back was used before saving a
session.
* Certain autoconfig.yml with an invalid structure could lead to
crashes, which are now fixed.
* Ever since Qt 5.9, when input.mouse.rocker_gestures was
enabled, the context menu still was shown when clicking the
right mouse button, thus preventing the rocker gestures.
This is now fixed.
* Clicking the inspector switched from existing modes (such as
passthrough) to normal mode since v1.13.0. Now insert mode is
only entered when the inspector is clicked in normal mode.
* Pulseaudio now shows qutebrowser's audio streams as qutebrowser
correctly, rather than showing them as Chromium with some Qt
versions.
* If :help was called with a deprecated command (e.g. :help
:inspector), the help page would show despite deprecated
commands not being documented. This now shows an error instead.
* The qute-lastpass userscript now filters out duplicate entries
with --merge-candidates.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=94
Deprecated
* The :inspector command is deprecated and has been replaced by
a new :devtools command (see below).
Removed
* The :debug-log-level command was removed as it's replaced by
the new logging.level.console setting.
* The qute://plainlog special page got replaced by
qute://log?plain - the names of those pages is considered an
implementation detail, and :messages --plain should be used
instead.
Changed
* Changes to commands:
+ :config-write-py now adds a note about config.py files being
targeted at advanced users.
+ :report now takes two optional arguments for bug/contact
information, so that it can be used without the report window
popping up.
+ :message now takes a --logfilter / -f argument, which is a
list of logging categories to show.
+ :debug-log-filter now understands the full logfilter syntax.
* Changes to settings:
+ fonts.tabs has been split into
fonts.tabs.{selected,unselected} (see below).
+ statusbar.hide has been renamed to statusbar.show with the
possible values being always (hide = False),
never (hide = True) or in-mode (new, only show statusbar
outside of normal mode).
+ The QtFont config type formerly used for fonts.tabs and
fonts.debug_console is now removed and entirely replaced
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=92
Removed
* Support for using config.bind(key, None) in config.py to unbind
a key was deprecated in v1.8.2 and is now removed.
Use config.unbind(key) instead.
* :yank markdown was deprecated in v1.7.0 and is now removed.
Use :yank inline [{title}]({url}) instead.
Added
* New :debug-keytester command, which shows a "key tester"
widget. Previously, that was only available as a separate
application via python3 -m scripts.keytester.
* New :config-diff command which opens the qute://configdiff
page.
* New --debug-flag log-cookies to log cookies to the debug log.
* New colors.contextmenu.disabled.{fg,bg} settings to customize
colors for disabled items in the context menu.
* New line selection mode (:toggle-selection --line), bound to
Shift-V in caret mode.
* New colors.webpage.darkmode.* settings to control Chromium's
dark mode. Note that those settings only work with QtWebEngine
on Qt >= 5.14 and require a restart of qutebrowser.
Changed
* The content.cookies.accept setting now accepts URL patterns.
* The :tab-focus command now has completion for tabs in the
current window.
* The bindings.key_mappings setting now maps <Ctrl+I> to the tab
key by default.
* :tab-give --private now detaches a tab into a new private
window.
Fixed
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=91
* CVE-2020-11054: After a certificate error was overridden by
the user, qutebrowser displays the URL as yellow
(colors.statusbar.url.warn.fg). However, when the affected
website was subsequently loaded again, the URL was mistakenly
displayed as green (colors.statusbar.url.success_https).
While the user already has seen a certificate error prompt
at this point (or set content.ssl_strict to false which is not
recommended), this could still provide a false sense of security.
This is now fixed.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=90
Added
* New settings:
+ search.wrap which can be set to false to prevent wrapping
around the page when searching. With QtWebEngine, Qt 5.14
or newer is required.
+ content.unknown_url_scheme_policy which allows controlling
when an external application is opened for external links
(never, from user interaction, always).
+ content.fullscreen.overlay_timeout to configure how long the
fullscreen overlay should be displayed. If set to 0,
no overlay is displayed.
+ hints.padding to add additional padding for hints.
+ hints.radius to set a border radius for hints
(set to 3 by default).
* New placeholders for url.searchengines values:
+ {unquoted} inserts the search term without any quoting.
+ {semiquoted} (same as {}) quotes most special characters,
but slashes remain unquoted.
+ {quoted} (same as {} in earlier releases) also quotes slashes
Changed
* First adaptions to Qt 5.15, including a stop-gap measure for
session loading not working properly with it.
* Searching now wraps around the page by default with QtWebKit
(where it didn't before). Set search.wrap to false to restore
the old behavior.
* The {} placeholder for search engines
(the url.searchengines setting) now does not quote slashes
anymore, but other characters typically encoded in URLs still
get encoded. This matches the behavior of search engines in
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=89
Fixed
* Crash when saving data fails during shutdown (which was a
regression introduced in v1.9.0).
* Error while reading config.py when fonts.tabs or
fonts.debug_console is set to a value including default_size.
* When a state file contains invalid UTF-8 data, a proper error
is now displayed.
Changed
* When the Qt version changes (and also on the first start of
v1.10.1 on Qt 5.14), service workers registered by websites are
now deleted. This is done as a workaround for QtWebEngine
issues causing crashes when visiting pages using service
workers (such as Google Mail/Drive). No persistent data should
be affected as websites can re-register their service workers,
but a (single) backup is kept at webengine/Service Worker-bak
in qutebrowser's data directory.
* Better output on stdout when config errors occur.
* The default for colors.statusbar.command.private.bg has been
changed to a slightly different gray, as a workaround for a Qt
issue where the cursor was invisible in that case.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=85
- Update to version 1.10.0
Added
* New colors.webpage.prefers_color_scheme_dark setting which
allows forcing prefers-color-scheme: dark colors for websites
(QtWebEngine with Qt 5.14 or newer).
* New fonts.default_size setting which can be used to set a
bigger font size for all UI fonts.
Changed
* The fonts.monospace setting has been removed and replaced by
fonts.default_family. The new default_family setting is
improved in various ways:
+ It accepts a list of font families (or a single font family)
rather than a comma-separated string. As an example, instead
of fonts.monospace = "Courier, Monaco", use
fonts.default_family = ["Courier", "Monaco"].
+ Since a list is now accepted as value, no quoting of font
names with spaces is required anymore. As an example,
instead of fonts.monospace = '"xos4 Terminus"', use
fonts.default_family = 'xos4 Terminus'.
+ It is now empty by default rather than having a long list of
font names in the default config. When the value is empty,
the system's default monospaced font is used.
* If monospace is now used in a font value, it's used literally
and not replaced anymore. Instead, default_family is replaced
as explained above.
* The default content.headers.accept_language value now adds a
;q=0.9 classifier which should make the value sent more
in-line with what other browsers do.
* The qute-pass userscript now has a new --mode gopass switch
which uses gopass rather than pass.
OBS-URL: https://build.opensuse.org/request/show/770163
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=81
Added
* Initial support for Qt 5.14.
* New content.site_specific_quirks setting which enables
workarounds for websites with broken user agent parsing
(enabled by default, see the "Fixed" section for fixed
websites).
* New qt.force_platformtheme setting to force Qt to use a given
platform theme.
* New tabs.tooltips setting which can be used to disable hover
tooltips for tabs.
* New settings to configure the appearance of context menus:
+ fonts.contextmenu
+ colors.contextmenu.menu.bg
+ colors.contextmenu.menu.fg
+ colors.contextmenu.selected.bg
+ colors.contextmenu.selected.fg
Changed
* The content.headers.user_agent setting now is a format string
with the default value resembling the behavior of it being set
to null before. This slightly changes the sent user agent for
QtWebKit: Instead of mentioning qutebrowser and its version
it now mentions the Qt version.
* The qute-pass userscript now has a new --extra-url-suffixes
(-s) argument which passes extra URL suffixes to the tldextract
library.
* A stack is now used for :tab-focus last rather than just saving
one tab. Additionally, :tab-focus now understands stack-prev
and stack-next arguments to traverse that stack.
* :hint now has a new right-click target which allows
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=79
Fixed
* Unbinding keys via config.bind(key, None) accidentally worked
in v1.7.0 but raises an exception in v1.8.0. It now works
again, but is deprecated and shows an error. Note that
:config-py-write did write such invalid lines before v1.8.0,
so existing config files might need adjustments.
* The readability-js userscript now handles encodings correctly
(which it didn't before for some websites).
* can now be used to paste text starting with a hyphen.
* Following hints via the number keypad now works properly again.
* Errors while reading the state file are now displayed instead
of causing a crash.
* Crash when using :debug-log-level without a console attached.
* Downloads are now hidden properly when the browser is in
fullscreen mode.
* Crash when setting colors.webpage.bg to an empty value with
QtWebKit.
* Crash when the history database file is not a proper sqlite
database.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=75
Added
* New userscripts:
+ readability-js which uses Mozilla's node.js readability
library.
+ qute-bitwarden which integrates the Bitwarden CLI.
Changed
* The statusbar text for passthrough mode now shows all
configured bindings to leave the mode, not only one.
* When :config-source is used with a relative filename, the file
is now searched in the config directory instead of the current
working directory.
* HTML5 inputs with date/time types now enter insert mode when
selected.
* dictcli.py now shows where dictionaries are installed to and
complains when running it as root if doing so would result in
a wrong installation path.
* Changes to userscripts:
+ qute-pass: Don't run pass if only a username is requested.
+ qute-pass: Support private domains like myrouter.local.
+ readability: Improved CSS styling.
* Performance improvements in various areas:
+ Loading config files
+ Typing without any completion matches
+ General keyboard handling
+ Scrolling
* :version now shows details about the loaded
autoconfig.yml/config.py.
* Hosts are now additionally looked up including their ports in
netrc files.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=73
Added
* New settings:
+ colors.tabs.pinned.* to control colors of pinned tabs.
+ hints.leave_on_load which allows disabling leaving of hint
mode when a new page is loaded.
+ colors.completion.item.selected.match.fg which allows
configuring the text color for the matching text in the
currently selected completion item.
+ tabs.undo_stack_size to limit how many undo entries are kept
for closed tabs.
* New commands:
+ :reverse-selection (o in caret mode) to swap the
stationary/moving ends of a selection.
* New commandline replacements:
+ {url:domain}, {url:auth}, {url:scheme}, {url:username},
{url:password}, {url:host}, {url:port}, {url:path},
{url:query} for the respective parts of the current URL.
+ {title} for the current page title.
* The {title} field in tabs.title.format,
tabs.title.format_pinned and window.title_format got renamed to
{current_title} (mirroring {current_url}) in order to not
conflict with the new {title} commandline replacement.
* New delete target for :hint which removes the hinted element
from the DOM.
* New --config-py commandline argument to use a custom config.py
file.
* Qt 5.13: Support for notifications (shown via system tray).
Changed
* The desktop file qutebrowser.desktop is now renamed to
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=71
Fixed
* Crash when hinting and changing/closing the tab before hints
are displayed.
* Crash on redirects with Qt 5.13.
* Hide bogus AA_ShareOpenGLContexts warning with Qt 5.12.4.
* Workaround for renderer process crashes with Qt 5.12.4.
If you're unable to update, you can remove ~/.cache/qutebrowser
for the same result.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=69
Fixed
* Crash when SQL errors occur while using the completion.
* Crash when cancelling a download prompt started in an already
closed window.
* Crash when many prompts are opened at the same time.
* Running without Qt installed now displays a proper error again.
* High CPU usage when using the keyhint widget with a low delay.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=67
Fixed
* Crash when using :config-{dict,list}-{add,remove} with an invalid setting.
* Functionality like hinting on pages with an element with ID _qutebrowser
(such as qutebrowser.org) on Qt 5.12.
* The .desktop file in v1.6.0 was missing the "Actions" key.
* The SVG icon now has a size of 256x256px set to comply with freedesktop
standards.
* Setting colors.statusbar.*.bg to a gradient now has the expected effect of
the gradient spanning the entire statusbar.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=62
Added
* New settings:
+ tabs.new_position.stacking which controls whether new tabs
opened from a page should stack on each other or not.
+ completion.open_categories which allows to configure which
categories are shown in the :open completion, and how they
are ordered.
+ tabs.pinned.frozen to allow/deny navigating in pinned tabs.
+ hints.selectors which allows to configure what CSS selectors
are used for hints, and also allows adding custom hint groups
+ input.insert_mode.leave_on_load to turn off leaving insert
mode when a new page is loaded.
* New config manipulation commands:
+ :config-dict-add and :config-list-add to a new element to a
dict/list setting.
+ :config-dict-remove and :config-list-remove to remove an
element from a dict/list setting.
+ New :yank markdown feature which yanks the current URL and
title in markdown format.
+ Support for new QtWebEngine features in Qt 5.12:
~ Basic support for client certificates. Selecting the
certificate to use when there are multiple matching
certificates isn't implemented yet.
~ Support for DNS prefetching (plus new content.dns_prefetch
setting).
Changed
* :q now closes the current window instead of quitting
qutebrowser completely (:close), while :qa quits (:quit).
The behavior of :wq remains unchanged (:quit --save), as
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=60
Fixed:
* Flickering when opening/closing tabs (as soon as more than
10 are open) on some pages.
* Improved logging for PDF.js resources which fail to load.
* Crash when closing a tab after doing a search.
* Tabs appearing when hidden after e.g. closing tabs.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=55
Added:
* Rewritten PDF.js support:
+ PDF.js support and the content.pdfjs setting are now
available with QtWebEngine.
+ Opening a PDF file now doesn't start a second request
anymore.
+ Opening PDFs on https:// sites now works properly.
+ New --pdfjs flag for prompt-open-download, so PDFs can be
opened in PDF.js with <Ctrl-P> in the download prompt.
* New settings:
+ content.mouse_lock to handle HTML5 pointer locking.
+ completion.web_history.exclude which hides a list of URL
patterns from the completion.
+ qt.process_model which can be used to change Chromium's
process model.
+ qt.low_end_device_mode which turns on Chromium's low-end
device mode. This mode uses less RAM, but the expense of
performance.
+ content.webrtc_ip_handling_policy, which allows more
fine-grained/restrictive control about which IPs are
exposed via WebRTC.
+ tabs.max_width which allows to have a more "normal" look
for tabs.
+ content.mute which allows to mute pages (or all tabs) by
default.
* Running qutebrowser with QtWebKit or Qt < 5.9 now shows a
warning (only once), as support for those is going to be
removed in a future release.
* New t[iI][hHu] default bindings (similar to tsh etc.) to
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=53
Changed:
* The content.xss_auditing setting is now enabled by default,
to mirror Chromium's rather than Qt's default behavior.
* Long URLs in the statusbar are now elided at the end rather
than in the middle, to make sure the hostname is completely
visible whenever possible.
Fixed:
* Crash in Qt 5.7.1 when a website uses window.print().
* The workaround for Nouveau graphic drivers now works properly
again.
* Crash when using :follow-selected with a link which is
outside of the view.
* Workaround for windows not showing as urgent with some window
managers (like i3).
* Crash when opening URLs with some unicode characters
(IDNA 2008). Those URLs still won't open though, due to
missing support in Qt.
* Crash when a download directory which can't be created is
configured.
* Crash in the importer.py script when importing Chrome
bookmarks from newer Chrome versions.
* The content.webrtc_public_interfaces_only option didn't work
on Qt 5.11 previously (it now does). Note it still does not
work on Qt 5.10 (due to a Qt bug) and Qt < 5.9.2.
* Repeated escaping of entries in qute://log when refreshing
page.
* The host blocker doesn't block 0.0.0.0 anymore.
* Crash when using :// as URL pattern.
* The :buffer completion now sorts tabs with indices >= 10
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=51
Security:
* CVE-2018-10895: Fix CSRF issue on the qute://settings page,
leading to possible arbitrary code execution.
See the related GitHub issue for details:
https://github.com/qutebrowser/qutebrowser/issues/4060
Fixed:
* Rare crash when an error occurs in downloads.
* Newlines are now stripped from the :version pastebin URL.
* Worked around a Qt issue which redirects to a
chrome-error:// page when trying to use U2F.
* The link_pyqt.py script now works correctly with PyQt 5.11.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=47
- Update to version 1.4.0:
Added:
* Support for the bundled sip module in PyQt 5.11 and other
changes in Qt/PyQt 5.11.x.
* New --debug-flag log-requests to log requests to the debug
log for debugging.
* New --first flag for :hint (bound to gi for inputs) which
automatically selects the first hint.
* New input.escape_quits_reporter setting which can be used to
avoid accidentally quitting the crash reporter when pressing
escape.
* New qute-lastpass userscript which uses the LastPass CLI to
fill passwords.
* The Makefile now installs a
/usr/share/metainfo/qutebrowser.appdata.xml file.
* QtWebEngine: Support for printing from webpages via
window.print.
* QtWebEngine: Support for muting tabs:
+ New {audio} field for window.title_format and
tabs.title.format which displays [M]/[A] for
muted/recently audible tabs.
+ New :tab-mute command (bound to <Alt-m>) to mute/unmute a
tab.
* QtWebEngine: Support for content.cookies.accept with
third-party cookies blocked by default (requires Qt 5.11).
* QtWebEngine: New settings:
+ Support for requesting persistent storage via
navigator.webkitPersistentStorage.requestQuota with a new
content.persistent_storage setting (requires Qt 5.11).
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=45
Security:
* An XSS vulnerability on the qute://history page allowed
websites to inject HTML into the page via a crafted title
tag. This could allow them to steal your browsing history.
If you're currently unable to upgrade, avoid using :history.
A CVE request for this issue is pending.
Fixed:
* Crash in a workaround for a Qt 5.11 bug in rare
circumstances.
* Workaround for a Qt bug which preserves searches between page
loads.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=42
* QtWebEngine: Improved workaround for a bug in Qt 5.11 where
only the top/bottom half of the window is used.
* QtWebEngine: Work around a bug in Qt 5.11 where an endless
loading-loop is triggered when clicking a link with an unknown
scheme.
* QtWebEngine: When switching between pages with changed
settings, less unnecessary reloads are done now.
* QtWebEngine: It's now possible to open external links such as
magnet:// or mailto: via hints.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=39
* Work around a bug in Qt 5.11 where only the top/bottom half of
the window is used. This workaround is incomplete, but fixes
the majority of the cases where this happens.
* Work around keyboard focus issues with Qt 5.11.
* Work around an issue in Qt 5.11 where e.g. activating
JavaScript per-domain needed a manual reload in some cases.
* Don't crash when a ² key is pressed (e.g. on AZERTY keyboards).
* Don't crash when a tab is opened and quickly closed again.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=37
Added:
* New :scroll-to-anchor command to scroll to an anchor in the
document.
* New url.open_base_url option to open the base URL of a
searchengine when no search term is given.
* New tabs.min_width setting to configure the minimal width
for tabs.
* New userscripts:
+ getbib to download bibtex information for DOIs on a page.
+ qute-keepass to get passwords from KeePassX.
Changed:
* QtWebEngine: Support for JavaScript Shared Web Workers have
been disabled on Qt versions older than 5.11 because of
security issues in in Chromium. You can get the same effect
in earlier versions via
":set qt.args ['disable-shared-workers']". An equivalent
workaround is also contained in Qt 5.9.5 and 5.10.1.
* The file dialog for downloads now has basic tab completion
based on the entered text.
* :version now shows OS information for POSIX OS other than
Linux/macOS.
* When there's an error inserting the text from an external
editor, a backup file is now saved.
* The window.hide_wayland_decoration setting got renamed to
window.hide_decoration and now also works outside of wayland.
* The tabs.favicons.show setting now can take three values:
'always' (was True), 'never' (was False) and 'pinned'
(to only show favicons for pinned tabs).
* Hover tooltips on tabs now always show the webpage's title.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=34
Fixed:
* qutebrowser now starts properly when the PyQt5
QOpenGLFunctions package wasn't found.
* The keybinding cheatsheet on the quickstart page is now
loaded from a local qute:// URL again.
* Unbinding keys which were bound in older qutebrowser versions
now doesn't crash anymore.
* Fixed a crash when reloading a page which wasn't fully
loaded with v1.2.0
* Keys on the numeric keypad now fall back to the same bindings
without Num+ if no Num+ binding was found.
* Fixed hinting on some pages with Qt < 5.10.
* Titles are now displayed correctly again for tabs which are
cloned or loaded from sessions.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=32
Added:
* Initial implementation of per-domain settings:
+ :set and :config-cycle now have a -u/--pattern argument
taking a URL match pattern for supported settings.
+ config.set in config.py now takes a third argument which is
the pattern.
+ New with config.pattern('...') as p: context manager for
config.py to use the shorthand syntax with a pattern.
+ New tsh keybinding to toggle scripts for the current host.
With a capital S, the toggle is saved. With a capital H,
subdomains are included. With u instead of h, the exact
current URL is used.
+ New tph keybinding to toggle plugins, with the same
additional binding described above.
* New QtWebEngine features:
+ Caret/visual mode
+ Authentication via ~/.netrc
+ Retrying downloads with Qt 5.10 or newer
+ Hinting and other features inside same-origin frames
* New flags for existing commands:
+ :session-load has a new --delete flag which deletes the
session after loading it.
+ New --no-last flag for :tab-focus to not focus the last tab
when focusing the currently focused one.
+ New --edit flag for :view-source to open the source in an
external editor.
+ New --select flag for :follow-hint which acts like the
given string was entered but doesn't necessary follow the
hint.
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=29
- Update to version 1.1.0:
Added:
* Initial support for Greasemonkey scripts. There are still
some rough edges, but many scripts should already work.
* New fields for window.title_format and tabs.title.format:
+ {current_url}
+ {protocol}
* New settings:
+ colors.statusbar.passthrough.fg/.bg
+ completion.delay and completion.min_chars to update the
completion less often.
+ completion.use_best_match to automatically use the
best-matching command in the completion.
+ keyhint.radius to configure the edge rounding for the key
hint widget.
+ qt.highdpi to turn on Qt's High-DPI scaling.
+ tabs.pinned.shrink (true by default) to make it possible
for pinned tabs and normal tabs to have the same size.
+ content.windowed_fullscreen to show e.g. a fullscreened
video in the window without fullscreening that window.
+ tabs.persist_mode_on_change to keep the current mode when
switching tabs.
+ session.lazy_restore which allows to not load pages
immediately when restoring a session.
* New commands:
+ :tab-give and :tab-take, to give tabs to another window,
or take them from another window.
+ :completion-item-yank (bound to <Ctrl-C>) to yank the
current completion item text.
+ :edit-command to edit the commandline in an editor.
+ search.incremental for incremental text search.
* New flags for existing commands:
+ -o flag for :spawn to show stdout/stderr in a new tab.
+ --rapid flag for :command-accept (bound to Ctrl-Enter by
default), which allows executing a command in the
completion without closing it.
+ --private and --related flags for :edit-url, which have the
same effect they have with :open.
+ --history for :completion-item-focus which causes it to go
through the command history when no text was entered.
The default bindings for cursor keys in the completion
changed to use that, so that they can be used again to
navigate through completion items when a text was entered.
+ --file for :debug-pyeval which makes it take a filename
instead of a line of code.
* New config.source(...) method for config.py to source another
file.
* New {line} and {column} replacements for editor.command to
position the cursor correctly.
* New qute-pass userscript as alternative to password_fill
which allows selecting accounts via rofi or any other
dmenu-compatile application.
* New hist_importer.py script to import history from
Firefox/Chromium.
Changed:
* Some settings got renamed:
* tabs.width.bar -> tabs.width
* tabs.width.indicator -> tabs.indicator.width
* tabs.indicator_padding -> tabs.indicator.padding
* session_default_name -> session.default_name
* ignore_case -> search.ignore_case
* Much improved user stylesheet handling for QtWebEngine which
reduces flickering and updates immediately after setting a
stylesheet.
* High-DPI favicons are now used when available.
* The asciidoc2html.py script now uses Pygments (which is
already a dependency of qutebrowser) instead of
source-highlight for syntax highlighting.
* The :buffer command now doesn't require quoting anymore,
similar to :open.
* The importer.py script was largely rewritten and now also
supports importing from Firefox' places.sqlite file and
Chrome/Chromium profiles.
* Various internal refactorings to use Python 3.5 and
ECMAscript 6 features.
* If the window.hide_wayland_decoration setting is False, but
QT_WAYLAND_DISABLE_WINDOWDECORATION is set in the
environment, the decorations are still hidden.
* The install_dict.py script for QtWebEngine was renamed to
dictcli.py and can now also upgrade dictionaries correctly.
* :undo now can re-open multiple tabs after :tab-only was used.
* :config-write-py with a relative path now puts the file into
the config directory.
* The qute://version page now also shows the uptime of
qutebrowser.
* qutebrowser now prompts to create a non-existing directory
when starting a download.
* :jseval --file now searches relative paths in a js/ subdir in
qutebrowser's data dir, e.g. ~/.local/share/qutebrowser/js.
* The current/default bindings are now shown in the ``:bind`
completion.
* Empty categories are now hidden in the :open completion.
* Search terms for URLs and titles can now be mixed when
filtering the completion.
* The default font size for the UI got bumped up from 8pt to
10pt.
* Improved matching in the completion: The words entered are
now matched in any order, and mixed matches on URL/tite are
possible.
* The system's default encoding (rather than UTF-8) is now used
to decode subprocess output.
* qutebrowser now ensures it's focused again after an external
editor is closed.
* The colors.completion.fg setting can now be a list, allowing
to specify different colors for the three completion columns.
Fixed:
* More consistent sizing for favicons with vertical tabs.
* Using :home on pinned tabs is now prevented.
* Fix crash with unknown file types loaded via qute://help.
* Scrolling performance improvements.
* Sites like qute://help now redirect to qute://help/ to make
sure links work properly.
* Fixes for the size calculation of pinned tabs in the tab bar.
* Worked around a crash with PyQt 5.9.1 compiled against
Qt < 5.9.1 when using :yank or qute:// URLs.
* Fixed crash when opening qute://help/img.
* Fixed gU (:navigate up) on qute://help and webservers not
handling .. in a URL.
* Using e.g. -s backend webkit to set the backend now works
correctly.
* Fixed crash when closing the tab an external editor was
opened in.
* When using :search-next before a search is finished, no
warning about no results being found is shown anymore.
* Fix :click-element with an ID containing non-alphanumeric
characters.
* Fix crash when a subprocess outputs data which is not
decodable as UTF-8.
* Fix crash when closing a tab immediately after hinting.
* Worked around issues in Qt 5.10 with loading progress never
being finished.
* Fixed a crash when writing a flag before a command
(e.g. :-w open).
* Fixed a crash when clicking certain form elements with
QtWebEngine.
Deprecated:
* :tab-detach has been deprecated, as :tab-give without
argument can be used instead.
Removed:
* The long-deprecated :prompt-yes, :prompt-no, :paste-primary
and :paste commands have been removed.
* The invocation :download <url> <dest> which was deprecated
in v0.5.0
was removed, use :download --dest <dest> <url> instead.
* The messages.unfocused option which wasn't used anymore was
removed.
* The x[xtb] default bindings got removed again as many users
accidentally triggered them.
OBS-URL: https://build.opensuse.org/request/show/565833
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=23
- Update to version 1.0.4:
* The qute://gpl page now works correctly again.
* Trying to bind an empty command now doesn't crash anymore.
* Fixed crash when :config-write-py fails to write to the given
path.
* Fixed crash for some users when selecting a file with Qt 5.9.3
* Improved handling for various SQL errors
* Fix crash when setting content.cache.size to a big value
(> 2 GB)
OBS-URL: https://build.opensuse.org/request/show/546189
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=21
- Update to version 1.0.3:
* Changed
+ Performance improvements for tab rendering.
+ The :open-editor command is not hidden anymore and also usable
in normal mode.
+ Security enhancements for macos and windows builds
* Fixed
+ Handle accessing a locked sqlite database gracefully
+ Abort pinned tab dialogs properly when a tab is closed e.g.
by closing a window.
+ Unbinding a default keybinding twice no longer binds it again
+ Completions are now sorted correctly again when filtered
OBS-URL: https://build.opensuse.org/request/show/538969
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=19
- Update to version 1.0.2:
* Fixed
+ Fix workaround for black screens or crashes with Nvidia cards
+ Handle a filesystem going read-only gracefully
+ Fix crash when setting fonts.monospace
+ Fix list options not being modifyable via .append() in
config.py
+ Mark the content.notifications setting as QtWebKit only
correctly
+ Fix wrong rendering of keys like <back> in the completion
* Changed
+ Nicer error messages and other minor improvements
* Includes fixes from 1.0.1:
+ Fixed starting after customizing fonts.tabs or
fonts.debug_console.
+ Fixed starting with old PyQt versions compiled against newer
Qt versions.
+ Fixed check for PyQt version to correctly enforce 5.7
(not 5.2).
OBS-URL: https://build.opensuse.org/request/show/534464
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=15
- Update to version 1.0.0
* Dependency changes:
+ Support for legacy QtWebKit (before 5.212 which is
distributed independently from Qt) is dropped.
+ Support for Python 3.4 is dropped.
+ Support for Qt before 5.7.1 and PyQt before 5.7 is dropped.
+ New dependency on the QtSql module and Qt sqlite support.
+ New dependency on the attrs project (packaged as
python-attr in some distributions).
+ The depedency on PyOpenGL (when using QtWebEngine) got
removed. Note that PyQt5.QtOpenGL is still a dependency.
+ PyQt5.QtOpenGL is now always required, even with QtWebKit.
* The QtWebEngine backend is now used by default. Note this
means that QtWebEngine now should be a required dependency, and
QtWebKit (if new enough) should be changed to an optional
dependency.
* Completely rewritten configuration system which ignores the
old config file. See link:qute://help/configuring.html[] for
details.
* Various documentation files got moved to the doc/ subfolder;
qutebrowser.desktop got moved to misc/.
* :set now doesn't support toggling/cycling values anymore, that
functionality got moved to :config-cycle.
* New completion engine based on sqlite, which allows to
complete the entire browsing history. The default for
completion.web_history_max_items got changed to -1 (unlimited).
If the completion is too slow on your machine, try setting it to
a few 1000 items.
Added:
* QtWebEngine: Spell checking support, see the
spellcheck.languages setting.
* New qt.args setting to pass additional arguments to
Qt/Chromium.
* New backend setting to select the backend to use. Together
with the previous setting, this should make most wrapper
scripts unnecessary.
* qutebrowser can now be set as the default browser on macOS.
* New config commands:
+ :config-cycle to cycle an option between multiple values.
+ :config-unset to remove a configured option.
+ :config-clear to remove all configured options.
+ :config-source to (re-)read a config.py file.
+ :config-edit to open the config.py file in an editor.
+ :config-write-py to write a config.py template file.
* New :version command which opens qute://version.
* New back/forward indicator in the statusbar.
* New bindings.key_mappings setting to map keys to other keys.
* QtWebEngine: Support for proxy authentication.
Changed:
* Using :download now uses the page's title as filename.
* Using :back or :forward with a count now skips intermediate
pages.
* When there are multiple messages shown, the timeout is
increased.
* :search now only clears the search if one was displayed
before, so pressing <Escape> doesn't un-focus inputs anymore.
* Pinned tabs now adjust to their text's width, so the
tabs.width.pinned setting got removed.
* :set-cmd-text now has a --run-on-count argument to run the
underlying command directly if a count was given.
* :scroll-perc got renamed to :scroll-to-perc.
Removed:
* Migrating QtWebEngine data written by versions before
2016-11-15 (before v0.9.0) is now not supported anymore.
* Upgrading qutebrowser with a version older than v0.4.0 still
running now won't work properly anymore.
* The --harfbuzz and --relaxed-config commandline arguments got
dropped.
Fixes:
* Exiting fullscreen via :fullscreen or buttons on a page now
restores the correct previous window state
(maximized/fullscreen).
* When input.insert_mode.auto_load is set, background tabs now
don't enter insert mode anymore.
* The keybinding help widget now works correctly when using
keybindings with a count.
* The window.hide_wayland_decoration setting now works correctly
again.
OBS-URL: https://build.opensuse.org/request/show/533709
OBS-URL: https://build.opensuse.org/package/show/network/qutebrowser?expand=0&rev=13