Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

qutebrowser-2.1.0-1.1 RPM for noarch

From OpenSuSE Ports Tumbleweed for noarch

Name: qutebrowser Distribution: openSUSE:Factory:zSystems
Version: 2.1.0 Vendor: obs://
Release: 1.1 Build date: Tue Mar 30 21:05:30 2021
Group: Productivity/Networking/Web/Browsers Build host: s390p23
Size: 8359765 Source RPM: qutebrowser-2.1.0-1.1.src.rpm
Summary: Keyboard-driven vim-like browser based on Qt5
qutebrowser is a keyboard-focused browser with a minimal GUI.
It's based on PyQt5 and can use either QtWebEngine or QtWebKit.






* Fri Mar 12 2021 Mia Herkt <>
  - Update to version 2.1.0
    * 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
    * New :screenshot command which can be used to screenshot the
      visible part of the page.
    * New qute-keepassxc userscript integrating with the KeePassXC
      browser API.
    * 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 values auto, light and dark (instead of being True for dark
      and False for auto). Note that the light value is only
      supported with Qt 5.15.2+, falling back to the same behavior as
      auto 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 doing :hint links yank --rapid, the messages shown now
      replace each other, thus being less noisy.
    * Newlines in JavaScript messages (confirm, prompt and alert) are
      now preserved.
    * Messages in prompts are now word-wrapped rather than displaying
      them in one long line.
    * If a command starts with space (e.g. : open ..., it's now not
      saved to command history anymore (similar to how some shells
    * 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 new
      log-sensitive-keys value which logs all keypresses (including
      those in insert/passthrough/prompt/... mode) for debugging.
    * The readability and readability-js userscripts now add a
      qute-readability CSS class to the page, so that it can be
      styled easily via a user stylesheet.
    * 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 and
      colors.webpage.darkmode.* settings now work correctly with
      QtWebEngine 5.15.3.
    * 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
      returns no-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.
    * 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 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
    * 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 with
      colors.wegpage.darkmode.policy.images set to smart.
      Most notably, this causes formulae on Wikipedia to display
      black on (almost) black. If content.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.
* Thu Feb 04 2021 Mia Herkt <>
  - Update to version 2.0.2
    * When right-clicking an empty part of the downloads bar,
      qutebrowser v2.0.x would crash. This is now fixed.
    * Setting to false only worked properly
      when this was done after qutebrowser was already started due to
      a regression in v2.0.0. It now works as expected again.
    * The changelog for v2.0.0 claimed that hints.leave_on_load was
      set to true by default. However, the
      input.insert_mode.leave_on_load setting was instead set to
      true accidentally. This is now fixed by actually setting
      hints.leave_on_load to true, and reversing the change to
      input.insert_mode.leave_on_load so it is set to false by
      default again.
    * Site-specific quirk JavaScript files were loaded lazily rather
      than preloaded at the start of qutebrowser, causing a crash
      when e.g. switching between versions while qutebrowser is open.
      Now they are preloaded at the start of qutebrowser again.
    * The link to the keybinding cheatsheet on the internal :help
      page wasn't displayed correctly. This is now fixed.
    * When the completion rebuilding process was interrupted,
      qutebrowser did not detect this condition on the next start,
      thus resulting in a completion with inconsistent data. This is
      now fixed, with another rebuild being forced with this update,
      to ensure the data is consistent for all users.
    * In certain scenarios, qutebrowser v2.0.x warned about
      config.load_autoconfig(...) being missing when loading a
      secondary config (e.g. via config.source(...)). It now only
      shows those warnings for the main file.
    * The --enable-webengine-inspector flag is now accepted again,
      however it's unused and undocumented. It purely exists to make
      it possible to use :restart between pre-v2.0.x and v2.0.2+
    * When hints.dictionary pointed to a file not encoded as UTF-8,
      this resulted in a crash (also in versions before v2.0.0).
      It now properly displays an error instead.
    * When running qutebrowser with a single empty commandline
      argument, such as done by, this would
      result in a partially initialized window. Interacting with that
      window results in a crash (also in versions before v2.0.0).
      Instead, the startpage is now shown properly.
* Sun Jan 31 2021 Mia Herkt <>
  - Update to version 2.0.1
    * When the adblocking method was switched using :set, and the
    adblock dependency was unavailable when qutebrowser started
    (but was installed while qutebrowser was open), this resulted
    in a crash. Now a warning prompting for a restart of qutebrowser
    is shown instead.
    * The format_json userscript now uses sh instead of bash again.
    * The add-nextcloud-bookmarks, add-nextcloud-cookbook, readability
    and ripbang userscripts now use a python3 rather than plain
    python shebang.
    * When QTWEBENGINE_CHROMIUM_FLAGS is set in the environment, this
    causes flag handling (including workarounds for QtWebEngine
    crashes) inside qutebrowser to break. This will be handled
    properly in a future version, but this release now shows a
    warning on standard output if this is the case.
    * The config completion for fileselect.*.command now also includes
    the "nnn" terminal file manager.
* Thu Jan 28 2021 Mia Herkt <>
  - Update to version 2.0.0
    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"
    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.
    * 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.
    * 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
    + 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
    * New settings for the ABP-based adblocker:
    + content.blocking.method to decide which blocker(s) should be
    + content.blocking.adblock.lists to configure ABP-like lists to
    * New qt.environ setting which makes it easier to set/unset
    environment variables for qutebrowser.
    * New settings to use an external file picker (such as ranger or
    + fileselect.handler (default or external)
    + fileselect.multiple_files.command
    + fileselect.single_file.command
    * When QtWebEngine has been updated but PyQtWebEngine hasn't yet,
    the dark mode settings might stop working. As a (currently
    undocumented) escape hatch, this version adds a
    QUTE_DARKMODE_VARIANT=qt_515_2 environment variable which can be
    set to get the correct behavior in (transitive) situations like
    * New --desktop-file-name commandline argument, which can be used
    to customize the desktop filename passed to Qt (which is used to
    set the app_id on Wayland).
    * The :open completion now also completes local file paths and
    file:// URLs, via a new filesystem entry in
    completion.open_categories. Also, a new completion.favorite_paths
    setting was added which can be used to add paths to show when
    :open is used without any input.
    * New QUTE_VERSION variable for userscripts, which can be used to
    read qutebrowser's version.
    * New "Copy URL" entry in the context menu for downloads.
    * New :bookmark-list command which lists all bookmarks/quickmarks.
    The corresponding qute://bookmarks URL already existed since
    v0.8.0, but it was never exposed as a command.
    * New qt.workarounds.remove_service_workers setting which can be
    used to remove the "Service Workers" directory on every start.
    Usage of this option is generally discouraged, except in
    situations where the underlying QtWebEngine bug is a known cause
    for crashes.
    * Changelogs are now shown after qutebrowser was upgraded.
    By default, the changelog is only shown after minor upgrades
    (feature releases) but not patch releases. This can be adjusted
    (or disabled entirely) via a new changelog_after_upgrade setting.
    * New userscripts:
    + kodi to play videos in Kodi
    + qr to generate a QR code of the current URL
    + add-nextcloud-bookmarks to create bookmarks in Nextcloud's
      Bookmarks app
    + add-nextcloud-cookbook to add recipes to Nextcloud's Cookbook
    * files now are required to have either
    config.load_autoconfig(False) (don't load autoconfig.yml) or
    config.load_autoconfig() (do load autoconfig.yml) in them.
    * Various host-blocking settings have been renamed to accomodate
    the new ABP-like adblocker:
    + content.host_blocking.enabled -> content.blocking.enabled
      (controlling both blockers)
    + content.host_blocking.whitelist -> content.blocking.whitelist
      (controlling both blockers)
    + content.host_blocking.lists -> content.blocking.hosts.lists
    * Changes to default settings:
    + tabs.background is now true by default, so that new tabs get
      opened in the background.
    + input.partial_timeout is now set to 0 by default, so that
      partially typed key strings are never cleared.
    + hints.leave_on_load is now false by default, so that hint mode
      doesn't get left when a page finishes loading. This can lead to
      stale hints persisting in rare circumstances, but is better
      than leaving hint mode when the user entered it before loading
      was completed.
    + The default for tabs.width (tab bar width if vertical) is now
      15% of the window width rather than 20%.
    + The default bindings for moving tabs
      (tab-move - and tab-move +) were changed from gl and gr to gK
      and gJ, to be consistent with the tab switching bindings.
    + The text color for warning messages is now black instead of
      white, for increased contrast and thus readability.
    + The default timeout for messages is now raised from 2s to 3s.
    * On the first start, the history completion database is
    regenerated to remove a few problematic entries (such as long
    qute://pdfjs URLs). This might take a couple of minutes, but is
    a one-time operation. This should result in a performance
    improvement for the completion for affected users.
    * qutebrowser now shows an error if its history database version is
    newer than expected. This currently should never happen, but
    allows for potentially backwards-incompatible changes in future
    * At least Python 3.6.1 is now required to run qutebrowser, support
    for Python 3.5 (and 3.6.0) is dropped. Note that Python 3.5 is
    no longer supported upstream since September 2020.
    * At least Qt/PyQt 5.12 is now required to run qutebrowser, support
    for 5.7 to 5.11 (inclusive) is dropped.
    * New optional dependency on the Python adblock library (see above
    for details).
    * The (formerly optional) cssutils dependency is now removed.
    It was only needed for improved behavior in corner cases when
    using :download --mhtml with the (non-default) QtWebKit backend,
    and as such it's unlikely anyone is still relying on it.
    The cssutils project is also dead upstream, with its repository
    being gone after Bitbucket removed Mercurial support.
    * The (formerly required) pygments dependency is now optional.
    It is only used when using :view-source with QtWebKit, or when
    forcing it via :view-source --pygments on QtWebEngine. If it is
    unavailable, an unhighlighted fallback version of the page's
    source is shown.
    * The former runtime dependency on the pkg_resources module (part
    of the setuptools project) got dropped. Note that setuptools is
    still required to run
    * A new dependency on the importlib_resources module got introduced
    for Python versions up to and including 3.8. Note that the stdlib
    importlib.resources module for Python 3.7 and 3.8 is missing the
    needed APIs, thus requiring the backports for those versions as
    * The former dependency on the attrs/attr package is now dropped in
    favour of dataclasses in the Python standard library. On Python
    3.6, a new dependency on the dataclasses backport is now
    * The former dependency on the pypeg2 package is now dropped. This
    might cause some changes for certain corner-cases for suggested
    filenames when downloading files with the QtWebKit backend.
    * The colors.webpage.darkmode.* settings are now also supported
    with older Qt versions (Qt 5.12 and 5.13) rather than just with
    Qt 5.14 and above.
    * For regexes in the config (hints.{prev,next}_regexes), certain
    patterns which will change meanings in future Python versions are
    now disallowed. This is the case for character sets starting with
    a literal [ or containing literal character sequences --, &&, ~~,
    or ||. To avoid a warning, remove the duplicate characters or
    escape them with a backslash.
    * If prompt(..., "default") is used via JS, the default text is now
    pre-selected in the prompt shown by qutebrowser.
    * URLs such as ::1/foo are now handled as a search term or local
    file rather than IPv6. Use [::1]/foo to force parsing as IPv6
    * The script now runs a "smoke test" after setting up the
    virtual environment to ensure it's working as expected. If
    necessary, the test can be skipped via a new --skip-smoke-test
    * Both qutebrowser userscripts and Greasemonkey scripts are now
    additionally picked up from qutebrowser's config directory
    (the userscripts and greasemonkey subdirectories of e.g.
    ~/.config/qutebrowser/) rather than only the data directory
    (the same subdirectories of e.g. ~/.local/share/qutebrowser/).
    * The :later command now understands a time specification like 5m
    or 1h5m2s, rather than just taking milliseconds.
    * The script doesn't use a browser argument anymore;
    instead its --input-format switch can be used to configure the
    input format. The help also was expanded to explain how to use
    it properly.
    * If tabs.tabs_are_windows is set, the tabs.last_close setting is
    now ignored and the window is always closed when using
    :close (d).
    * With the (default) QtWebEngine backend, if a custom accept header
    is set via content.headers.custom, the custom value is now
    ignored for XHR (XMLHttpRequest) requests. Instead, the sent
    value is now */* or the header set from JavaScript, as it would
    be if content.headers.custom wasn't set.
    * The :tab-select completion now shows the underlying renderer
    process PID if doing so is supported (on QtWebEngine 5.15).
    * If is set to never, favicons aren't
    unnecessarily downloaded anymore. Thus, disabling favicons can
    help with a possible fingerprinting vector.
    * "Super" is now understood as a modifier (i.e. as alias to
    * Initial support for Python 3.10 (currently in Alpha stage).
    * Various performance improvements, including for the startup time.
    * With interpolated color settings (colors.tabs.indicator.* and
    colors.downloads.*), the alpha channel is now handled correctly.
    * Fixes to userscripts:
    + format_json now uses env in its shebang, making it work
      correctly on systems where bash isn't located in /bin.
    + qute-pass now handles the MIME output format introduced in
      gopass 1.10.0.
    + qute-lastpass now types multiple < or > characters correctly.
    * The :undo completion now sorts its entries correctly (by the
    numerical index rather than lexicographically).
    * The completion.web_history.ignore setting now works properly when
    set in (rather than via :set). Additionally, a
    :config-source will not result in a history rebuild if the value
    wasn't actually changed.
    * When downloading a data: URL, the suggested filename is now
    improved and contains a proper extension. Before this fix,
    qutebrowser would use the URL's data contents as filename with
    QtWebEngine; or "binary blob" with the Qt network stack.
    * When :tab-only is run before a tab is available, an error is now
    shown instead of crashing.
    * A couple of long URLs (such as qute://pdfjs URLs) are now not
    added to the history database anymore.
    * A bug in QtWebEngine 5.15.2 causes "renderer process killed"
    errors on websites like LinkedIn and TradingView. There is now a
    workaround in qutebrowser to prevent this from happening.
    * Nextcloud Calendars started using String.replaceAll which was
    only added to Chromium recently (Chrome 85), so won't work with
    current QtWebEngine versions. This release includes a workaround
    (a polyfill as a site-specific-quirk).
* Sun Dec 06 2020 Mia Herkt <>
  - Update to version 1.14.1
    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.
    * 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
    * 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 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,
    qutebrowser's desktop file accidentally declared that it wasn't
    supported. This is now fixed.
    * The dmenu_qutebrowser and qutedmenu userscripts now correctly
    read the qutebrowser sqlite history which has been in use since
    * With Python 3.8+ and vertical tabs, a deprecation warning for an
    implicit int conversion was shown. This is now fixed.
    * Ever since Qt 5.11, fetching more completion data when that data
    is loaded lazily (such as with history) and the last visible item
    is selected was broken. The exact reason is currently unknown,
    but this release adds a tenative fix.
    * When PgUp/PgDown were used to go beyond the last visible item,
    the above issue caused a crash, which is now also fixed.
    * As a workaround for an overzealous Microsoft Defender
    false-positive detecting a "trojan" in the (unprocessed) adblock
    list, :adblock-update now doesn't cache the HTTP response anymore
    * With the QtWebKit backend and content.headers set to same-domain
    (the default), origins with the same domain but different schemes
    or ports were treated as the same domain. They now are correctly
    treated as different domains.
    * When a URL path uses percent escapes
    (such as, using :navigate up
    would treat the %2F as a path separator and replace any remaining
    percent escapes by their unescaped equivalents. Those are now
    handled correctly.
    * The userscript now complains when socat is
    not installed, rather than silencing the error.
    * The example AppArmor profile in misc/ was outdated and written
    for the older QtWebKit backend. It is now updated to serve as a
    useful starting point with QtWebEngine.
    * With Qt 5.15.2, lines/borders coming from the readability-js
    userscript were invisible. This is now fixed by changing the
    border color to grey (with all Qt versions).
    * Due to changes in the underlying Chromium, the
    colors.webpage.prefers_color_scheme_dark setting broke with
    Qt 5.15.2. It now works properly again.
    * A bug in the pkg_resources module used by qutebrowser caused
    deprecation warnings to appear on start with Python 3.9 on some
    setups. Those are now hidden.
    * Minor performance improvements.
    * Fix for various functionality breaking in private windows with
    v1.14.0, after the last private window is closed. This includes:
      + Ad blocking
      + Downloads
      + Site-specific quirks (e.g. for Google login)
      + Certain settings such as content.javascript.enabled
* Sun Nov 15 2020 Benjamin Greiner <>
  - Change sip requirement to the PyQt5.sip package instead of
    deprecated python-sip
* Thu Oct 15 2020 Mia Herkt <>
  - Update to version 1.14.0
    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.
    * The content.media_capture setting got split up into three more
      fine-grained settings,,
      .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
    * 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
    * :back and :forward now take an optional index which is
      completed using the current tab's history.
    * The time a website in a tab was visited is now saved/restored
      in sessions.
    * When attempting to download a file to a location for which
      there's already a still-running download, a confirmation prompt
      is now displayed.
    * :completion-item-focus now understands next-page and prev-page
      with corresponding <PgDown> / <PgUp> default bindings.
    * When the last private window is closed, all private browsing
      data is now cleared.
    * When config.source(...) is used with a --config-py argument
      given, qutebrowser used to search relative files in the config
      basedir, leading to them not being found when using a shared for different basedirs. Instead, they are now
      searched relative to the given file.
    * navigate prev ([[) and navigate next (]]) now recognize links
      with nav-prev and nav-next classes, such as those used by the
      Hugo static site generator.
    * When tabs.favicons is disabled but tabs.tabs_are_windows is
      set, the window icon is still set to the page's favicon now.
    * Dark mode (colors.webpage.darkmode.*) is now supported with
      Qt 5.15.2 (which is not released yet).
    * The default for the darkmode policy.images setting is now set
      to smart which fixes issues with e.g. formulas on Wikipedia.
    * The readability-js userscript now adds some CSS to improve the
      reader mode styling in various scenarios:
      + Images are now shrinked to the page width, similarly to what
      Firefox' reader mode does.
      + Some images ore now displayed as block (rather than inline)
      which is what Firefox' reader mode does as well.
      + Blockquotes are now styled more distinctively, again based
      on the Firefox reader mode.
      + Code blocks are now easier to distinguish from text and
      tables have visible cell margins.
    * The readability-js userscript now supports hint userscript
    * New argument strip for :navigate which removes queries and
      fragments from the current URL.
    * :undo now has a new -w / --window argument, which can be used
      to restore closed windows (rather than tabs). This is bound to
      U by default.
    * :jseval can now take javascript:... URLs via a new --url flag.
    * New replacement {aligned_index} for tabs.title.format and
      format_pinned which behaves like {index}, but space-pads the
      index based on the total numbers of tabs. This can be used to
      get aligned tab texts with vertical tabs.
    * New command :devtools-focus (bound to wIf) to toggle keyboard
      focus between the devtools and web page.
    * The --target argument to qutebrowser now understands a new
      private-window value, which can be used to open a private
      window in an existing instance from the commandline.
    * The :download-open command now has a new --dir flag, which can
      be used to open the directory containing the downloaded file.
      An entry to do the same was also added to the context menu.
    * Messages are now wrapped when they are too long to be displayed
      on a single line.
    * New possible --debug-flag values:
      + wait-renderer-process waits for a SIGUSR1 in the renderer
      process so a debugger can be attached.
      + avoid-chromium-init allows using --version without needing
      a working QtWebEngine/Chromium.
    * A URL pattern with a *. host was considered valid and matched
      all hosts. Due to keybindings like tsH toggling scripts for
    * ://*.{url:host}/*, invoking them on pages without a host
      (e.g. about:blank) could result in accidentally
      allowing/blocking JavaScript for all pages. Such patterns are
      now considered invalid, with existing patterns being
      automatically removed from autoconfig.yml.
    * When was set to overlay (the default),
      qutebrowser would internally override any enable-features=...
      flags passed via qt.args or --qt-flag. It now correctly
      combines existing enable-feature flags with internal ones.
    * Elements with an inherited contenteditable attribute now
      trigger insert mode and get hints assigned correctly.
    * When checkmarks, radio buttons and some other elements are
      styled via the Bootstrap CSS framework, they now get hints
    * When the session file isn't writable when qutebrowser exits,
      an error is now logged instead of crashing.
    * When using -m with the qute-lastpass userscript, it
      accidentally matched URLs containing the match as substring.
      This is now fixed.
    * When a filename is derived from a page's title, it's now
      shortened to the maximum filename length permitted by the
    * :enter-mode register crashed since v1.13.0, it now displays
      an error instead.
    * With the QtWebKit backend, webpage resources loading certain
      invalid URLs could cause a crash, which is now fixed.
    * When :config-edit is used but no exists yet, the file
      is now created (and watched for changes properly) before
      spawning the external editor.
    * When hint mode was entered from outside normal mode, the status
      bar was empty instead of displaying the proper text.
      This is now fixed.
    * When entering different modes too quickly (e.g. pressing fV),
      the statusbar could end up in a confusing state. This is now
    * When qutebrowser quits, running downloads are now cancelled
    * The site-specific quirk for has been updated
      to work after recent changes in WhatsApp.
    * Highlighting in the completion now works properly when UTF-16
      surrogate pairs (such as emoji) are involved.
    * When a windowed inspector is clicked, insert mode now isn't
      entered anymore.
    * When :undo is used to re-open a tab, but tabs.tabs_are_windows
      was set between closing and undoing the close, qutebrowser
      crashed. This is now fixed.
    * With QtWebEngine 5.15.0, setting the darkmode image policy to
      smart leads to renderer process crashes. The offending setting
      value is now ignored with a warning.
    * Fixes for the qute-pass userscript:
      + With newer gopass versions, a deprecation notice was copied
      as password due to qute-pass using it in a deprecated way.
      + The --password-store argument didn't actually set
      + PASSWORD_STORE_DIR for pass, resulting in qute-pass finding
      matches but the underlying pass not finding matching
* Fri Jul 17 2020 Mia Herkt <>
  - Update to version 1.13.1
    * 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
    * 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
    * 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.
* Mon Jul 06 2020 Mia Herkt <>
  - Update to version 1.13.0
    * The :inspector command is deprecated and has been replaced by
      a new :devtools command (see below).
    * 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
    * Changes to commands:
      + :config-write-py now adds a note about 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 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
      by Font. The former distinction was mainly an implementation
      detail, and the accepted values shouldn't have changed.
      + input.rocker_gestures has been renamed to
      + content.dns_prefetch is now enabled by default again,
      since the crashes it caused are now fixed (Qt 5.15)
      or worked around.
      + supports a new overlay value to show an overlay
      scrollbar, which is now the default. On unsupported
      configurations (on Qt < 5.11, with QtWebKit or on macOS),
      the value falls back to when-searching or never (QtWebKit).
      + url.auto_search supports a new schemeless value which always
      opens a search unless the given URL includes an explicit
    * New handling of bindings in hint mode which fixes various bugs
      and allows for single-letter keybindings in hint mode.
    * The statusbar now shows partial keychains in all modes
      (e.g. while hinting).
    * New t[Cc][Hh] default bindings which work similarly to the
      t[Ss][Hh] bindings for JavaScript but toggle cookie permissions
    * The tor_identity userscript now takes the password via a -p
      flag and has a new -c flag to customize the Tor control port.
    * Small performance improvements.
    * New settings:
      + logging.level.ram and logging.level.console to configure the
      default logging levels via the config.
      + fonts.tabs.selected and fonts.tabs.unselected to set the font
      of the selected tab independently from unselected tabs
      (e.g. to make it bold).
      + input.mouse.back_forward_buttons which can be set to false
      to disable back/forward mouse buttons.
    * New :devtools command (replacing :inspector) with various
      improved functionality:
      + The devtools can now be docked to the main window, by running
      :devtools left (wIh), bottom (wIj), top (wIk) or right (wIl).
      To show them in a new window, use :devtools window (wIw).
      Using :devtools (wi) will open them at the last used position
      + The devtool window now has a "qutebrowser developer tools"
      window title.
      + When a resource is opened from the devtools, it now opens in
      a proper qutebrowser tab.
      + If opened as a window, the devtools are now closed properly
      when the associated tab is closed.
      + When the devtools are clicked, insert mode is entered
    * Crash when tabs.focus_stack_size is set to -1.
    * Crash when a pdf.js file for PDF.js exists, but viewer.html
      does not.
    * Crash when there's a feature permission request from Qt with an
      invalid URL (which happens due to a Qt bug with Qt 5.15 in
      private browsing mode).
    * Crash in rare cases where QtWebKit/QtWebEngine imports fail in
      unexpected ways.
    * Crash when something removed qutebrowser's IPC socket file and
      it's been running for 6 hours.
    * :config-write-py now works with paths starting with ~/... again
    * New site-specific quirk for a missing globalThis in Qt <= 5.12
      on Reddit and Spotify.
    * When ; is added to hints.chars, using hint labels containing ;;
      now works properly.
    * Hint letters outside of ASCII should now work.
    * When bindings.key_mappings is used with hints, it now works
      properly with letters outside of ASCII as well.
    * With Qt 5.15, the audible/muted indicators are not updated
      properly due to a Qt bug. This release adds a workaround
      so that at least the muted indicator is shown properly.
    * As a workaround for crashes with QtWebEngine versions between
      5.12 and 5.14 (inclusive), changing the user agent
      (content.headers.user_agent) exposed to JS now requires
      a restart. The corresponding HTTP header is not affected.
* Tue Jun 02 2020 Mia Herkt <>
  - Update to version 1.12.0
    * Support for using config.bind(key, None) in 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.
    * 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
    * 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.
    * 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
    * Using :open -s now only rewrites http:// in URLs to https://,
      not other schemes like qute://.
    * When an unhandled exception happens in certain parts of the
      code (outside of the main thread), qutebrowser did crash or
      freeze when trying to show its exception handler.
      This is now fixed.
    * :inspector now works correctly when cookies are disabled
    * When entering caret selection mode (v, v) very early before a
      page is loaded, an error is now shown instead of a crash
    * The workaround for session loading with Qt 5.15 now handles
      sessions.lazy_restore so that the saved page is loaded instead
      of the "stub" page with no possibility to get to the web page.
    * A site specific quirk to allow typing accented characters on
      Google Docs was active for, but not It is now applied for both subdomains.
    * With older graphics hardware (OpenGL < 4.3) with Qt 5.14 on
      Wayland, WebGL causes segfaults. Now qutebrowser detects that
      combination and suggests to disable WebGL or use XWayland.
* Fri May 08 2020 Mia Herkt <>
  - Update to version 1.11.1
    * 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.
* Wed May 06 2020 Mia Herkt <>
  - Update to version 1.11.0
    * 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
    * 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
      Chromium. To revert to the old behavior, use {quoted} instead.
    * The content.windowed_fullscreen setting got renamed to
    * Mouse-wheel scrolling is now prevented while hints are active.
    * Changes to userscripts:
      + qute-bitwarden now has an optional --totp flag which can be
      used to copy TOTP codes to clipboard
      (requires the pyperclip module).
      + readability-js now opens readability tabs next to the
      original tab (using the :open --related flag).
      + readability-js now displays a favicon for readability tabs.
      + password_fill now triggers a change JavaScript event after
      filling the data.
    * The script now shows better error messages.
    * Minor performance improvements.
    * A warning about old Qt versions is now also shown with Qt 5.9
      and 5.10, as support for Qt < 5.11 will be dropped in
      qutebrowser v2.0.
    * unsafeWindow is now defined for Greasemonkey scripts with
    * The proxied window global is now shared between different
      Greasemonkey scripts (but still separate from the page's
      window), to match the original Greasemonkey implementation.
    * The --output-messages (-m) flag added in v1.9.0 now also works
      correctly when using :spawn --userscript.
    * :version and --version now don't crash if there's an (invalid)
      /etc/os-release file which has non-comment lines without
      a = character.
    * Scripts in scripts/ now report errors to stderr correctly,
      instead of using stdout.
* Sun Apr 19 2020 Mia Herkt <>
  - Update to version 1.10.2
    * The WhatsApp workaround now also works when using WhatsApp in
      languages other than English.
* Sun Feb 16 2020 Martin Herkt <>
  - Update to version 1.10.1
    * Crash when saving data fails during shutdown (which was a
      regression introduced in v1.9.0).
    * Error while reading 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.
    * 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 has been
      changed to a slightly different gray, as a workaround for a Qt
      issue where the cursor was invisible in that case.
* Thu Feb 13 2020 Tom Warnke <>
  - replace shebangs pointing to /usr/bin/bash with /bin/bash. This
    removes the requirement /usr/bin/bash from the RPM.
    Fixes boo#1163276.
* Wed Feb 05 2020 Martin Rey <>
  - Update to version 1.10.0
    * 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.
    * 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.
    * The tox -e mkvenv (or mkvenv-pypi) way of installing
      qutebrowser is now replaced by a script. See the
      updated link:install{outfilesuffix}#tox[install instructions]
      for details.
    * When quitting qutebrowser, components are now cleaned up
      differently. This should fix certain (rare) segmentation
      faults and exceptions when quitting, especially with the new
      exit scheme introduced in in PyQt5 5.13.1.
    * Added a workaround for per-domain settings (e.g. a JavaScript
      whitelist) not being applied in some scenarios with Qt 5.13
      and above.
    * Added additional site-specific quirk for WhatsApp Web.
    * The qute-pass userscript now works correctly when a
      PASSWORD_STORE_DIR ending with a trailing slash is given.
* Thu Jan 09 2020 Martin Herkt <>
  - Update to version 1.9.0
    * 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
    * 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.selected.fg
    * 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
    * 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
      right-clicking elements via hints.
    * The Terminus font has been removed from the default monospace
      fonts since it caused trouble with HighDPI setups. To get it
      back, add either "xos4 Terminus" or Terminus (depending on
      fontconfig version) to the beginning of the fonts.monospace
    * As a workaround for a Qt bug causing a segfault, desktop
      sharing is now automatically rejected on Qt versions before
      5.13.2. Note that screen sharing still won't work on Linux
      before Qt 5.14.
    * Comment lines in quickmarks/bookmarks files are now ignored.
      However, note that qutebrowser will overwrite those files if
      bookmark/quickmark commands are used.
    * Reopening PDF.js pages from e.g. a session file will now
      re-download and display those PDFs.
    * Improved behavior when using :open-download in a sandboxed
      environment (KDE Flatpak).
    * qutebrowser now enables the new PyQt exit scheme, which should
      result in things being cleaned up more properly (e.g. cookies
      being saved even without a timeout) on PyQt 5.13.1 and newer.
    * The :spawn command has a new -m / --output-messages argument
      which shows qutebrowser messages based on a command's standard
    * Improved insert mode detection for some CodeMirror usages
      (e.g. in JupyterLab and Jupyter Notebook).
    * If JavaScript is disabled globally, file://* now doesn't
      automatically have it enabled anymore. Run :set -u file://*
      content.javascript.enabled true to restore the previous
    * Settings with URL patterns can now be used to affect the
      behavior of the QtWebEngine inspector. Note that the underlying
      URL is chrome-devtools://* from Qt 5.11 to Qt 5.13, but
      devtools://* with Qt 5.14.
    * Improvements when tabs.tabs_are_windows is set:
      + Using :tab-take and :tab-give now shows an error, as the
      effect of doing so would be equal to :tab-clone.
      + The :buffer completion doesn't show any window sections
      anymore, only a flat list of tabs.
    * Improved parsing in some corner cases for the QtFont type
      (used for fonts.tabs and fonts.debug_console).
    * Performance improvements for the following areas:
      + Adding settings with URL patterns
      + Matching of settings using URL patterns
    * Downloads (e.g. via :download) now see the same user agent
      header as webpages, which fixes cases where overly restrictive
      servers/WAFs closed the connection before.
    * The logic for :restart has been revisited, which should fix
      issues with relative basedirs.
    * Remaining issues related to Python 3.8 are now fixed
      (mostly warnings, especially on QtWebKit).
    * Workaround for a Qt bug where a page never finishes loading
      with a non-overridable TLS error (e.g. due to HSTS).
    * The qute://configdiff page now doesn't show built-in settings
      (e.g. javascript being enabled for qute:// and chrome:// pages)
    * The qute-lastpass userscript now stops prompting for passwords
      when cancelling the password input.
    * The tab hover text now shows ampersands (&) correctly.
    * With QtWebEngine and Qt >= 5.11, the inspector now shows its
      icons correctly even if loading of images is disabled via the
      content.images setting.
    * Entering a very long string (over 50k characters) in the
      completion used to crash, now it shows an error message instead
    * Various improvements for URL/searchengine detection:
      + Strings with a dot but with characters not allowed in a URL
      (e.g. an underscore) are now not treated as URL anymore.
      + Strings like "5/8" are now not treated as IP anymore.
      + URLs with an explicit scheme and a space (%20) are correctly
      treated as URLs.
      + Mail addresses are now treated as search terms.
      + With url.open_base_url set, searching for a search engine
      name now works.
      + url.open_base_url = True together with
      url.auto_search = 'never' is now handled correctly.
      + Fixed crash when a search engine URL turns out to be invalid.
    * New "site specific quirks", which work around some broken
      + WhatsApp Web
      + Google Accounts
      + Slack (with older QtWebEngine versions)
      + support pages (with Qt 5.7)
      + Google Docs (fixes broken IME/compose key)
* Thu Dec 05 2019 Martin Herkt <>
  - Update to version 1.8.3
    * Segmentation fault introduced in v1.8.2 when a tab gets closed
      immediately after it has finished loading (e.g. with certain
      login flows).
* Tue Nov 26 2019 Martin Herkt <>
  - Update to version 1.8.2
    * 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 to an empty value with
    * Crash when the history database file is not a proper sqlite
* Thu Oct 17 2019 Martin Herkt <>
  - Update to version 1.8.1
    * New userscripts:
      + readability-js which uses Mozilla's node.js readability
      + qute-bitwarden which integrates the Bitwarden CLI.
    * 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
    * 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
    * Hosts are now additionally looked up including their ports in
      netrc files.
    * With Qt 5.10 or newer, qutebrowser now doesn't force software
      rendering with Nouveau drivers anymore. However,
      QtWebEngine/Chromium still do so.
    * The XSS Auditor is now disabled by default
      (content.xss_auditing = false). This reflects a similar change
      in Chromium, see their XSS Auditor Design Document for details.
    * :config-write-py now correctly writes config.unbind(...) lines
      (instead of config.bind(..., None)) when unbinding a default
    * Prevent repeat keyup events for JavaScript when a key is held
    * ~/.config/qutebrowser/blocked-hosts can now also contain
      /etc/hosts-like lines, not just simple hostnames.
    * Restored compatibility with Jinja2 2.8
    * Fixed implicit type conversion warning with Python 3.8.
    * The desktop file now sets StartupWMClass correctly, so the
      qutebrowser icon is no longer shown twice in the Gnome dock
      when pinned.
    * Bindings involving keys which need the AltGr key now work
    * Fixed crash (caused by a Qt bug) when typing characters above
      the Unicode BMP (such as certain emoji or CJK characters).
    * now works properly again.
    * Shift can now be used while typing hint keystrings, which e.g.
      allows typing number hints on French keyboards.
    * With rapid hinting in number mode, backspace now edits the
      filter text after following a hint.
    * A certain type of error ("locking protocol") while initializing
      sqlite now isn't handled as crash anymore.
    * Crash when showing a permission request in certain scenarios.
    * At least Python 3.5.2 is now required to run qutebrowser,
      support for 3.5.0 and 3.5.1 was dropped.
* Thu Jul 18 2019 Martin Herkt <>
  - Update to version 1.7.0
    * 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
    * Qt 5.13: Support for notifications (shown via system tray).
    * The desktop file qutebrowser.desktop is now renamed to
    * Pinned tabs now always show a favicon (even if the site doesn't
      provide one) when shrinking.
    * Setting now changes the directory
      displayed in the download prompt even if
      downloads.location.remember is set.
    * The yank command gained a new inline argument, which allows to
      e.g. use :yank inline [{title}]({url}).
    * Duplicate consecutive history entries with the same URL are now
    * More detailed error messages when spawning a process failed.
    * The content.pdfjs setting now supports domain patterns.
    * Improved process status output with :spawn -o.
    * The setting is now of type QssColor and thus
      supports gradients.
    * The :fullscreen command now understands a new --enter flag
      which causes it to always enter fullscreen instead of toggling
      the current state.
    * --debug-flag stack is now needed to show stack traces on
      renderer process crashes.
    * --debug-flag chromium can be used to easily turn on verbose
      Chromium logging.
    * Permission prompts can now be answered with
      Y (:prompt-accept --save yes) and N (:prompt-accept --save no)
      to save the answer as a per-domain setting.
    * content.dns_prefetch is now turned off by default, as it causes
      crashes inside QtWebEngine.
    * The (still unofficial) interceptor plugin API now contains
      resource_type for a request and allows redirecting requests.
    * :bookmark-remove now shows a message for consistency with
    * Very early segfaults are now also caught by the crash handler.
    * The appdata XML now contains proper release information and an
      (empty) OARS content rating.
    * Improved Linux distribution detection.
    * Qt 5.13: Request filtering now happens in the UI rather than
      IO thread.
    * Qt 5.13: Support for PDFium (Chromium's PDF viewer) is disabled
      for now so that PDFs can still be downloaded
      (or shown with PDF.js) properly.
    * Various performance improvements (e.g. for showing hints or
      the :open completion).
    * :yank markdown got deprecated, as :yank inline [{title}]({url})
      can now be used instead.
    * Various QtWebEngine load signals are now handled differently,
      which should fix issues with insert mode being left while
      typing on sites like Google Translate.
    * Race condition causing a colored statusbar in normal mode when
      entering/exiting caret mode quickly.
    * Using 100% for a hue in a hsv(...) config value now corresponds
      to 359 (rather than 255), matching the fixed behavior in
      Qt 5.13.
    * Chaining commands with ;; used to abort with some failing
      commands. It now runs the second command no matter whether the
      first one succeeded or not.
    * Handling of profiles and private windows (and resulting crashes
      with Qt 5.12.2).
    * Fixes for corner-cases when using :navigate increment/decrement
    * The type for the colors.hints.match.fg setting was changed to
    * Gradients were never supported for this setting, and with this
      change, values like rgb(0, 0, 0) now work as well.
    * Permission prompts now show a properly normalized URL with
    * Crash on start when PyQt was built without SSL support with
      Qt >= 5.12.
    * Minor memory leaks.
* Tue Jun 18 2019 Martin Herkt <>
  - Update to version 1.6.3
    * 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.
* Mon May 06 2019 Martin Herkt <>
  - Update to version 1.6.2
    * 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.
* Mon Apr 01 2019 Martin Herkt <>
  - Force sqlite backend to be installed, otherwise qtbrowser segfaults
* Wed Mar 20 2019 Martin Herkt <>
  - Update to version 1.6.1
    * 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 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
    * Setting colors.statusbar.*.bg to a gradient now has the expected effect of
      the gradient spanning the entire statusbar.
* Tue Feb 26 2019 Martin Herkt <>
  - Update to version 1.6.0
    * 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
    * :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
      closing a window while saving the session doesn't make sense.
    * Completion highlighting is now done differently (using
      QSyntaxHighlighter), which should fix some highlighting
    * The QtColor config type now also understands colors like
    * :yank now has a --quiet option which causes it to not display
      a message.
    * The :open completion now also shows search engines by default.
    * The content.host_blocking.enabled setting now supports URL
      patterns, so the adblocker can be disabled on a given page.
    * Elements with a tabindex attribute now also get hints by
    * Various small performance improvements for hints and the
    * The Wayland check for QtWebEngine is now disabled on
      Qt >= 5.11.2, as those versions should work without any issues.
    * The JavaScript console object is now available in PAC files.
    * PAC proxies currently don't work properly on QtWebEngine (and
      never did), so an error is now shown when trying to configure
      a PAC proxy.
    * The metainfo file qutebrowser.appdata.xml is now renamed to
    * The qute-pass userscript now understands domains in gpg
      filenames in addition to directory names.
    * The autocompletion for content.headers.user_agent got updated
      to only include the default and Chrome, as setting the UA to
      Firefox has various bad side-effects.
    * Combining Qt 5.12 with an older PyQt can lead to issues, so a
      warning is now shown when starting qutebrowser with that
    * Invalid world IDs now get rejected for :jseval and GreaseMonkey
    * When websites suggest download filenames with invalid
      characters, those are now correctly replaced.
    * Invalid hint length calculation in certain rare cases.
    * Dragging tabs in the tab bar (which was broken in v1.5.0)
    * Using Shift-Home in command mode now works properly.
    * Workaround for a Qt bug which prevented
      content.cookies.accept = no-3rdparty from working properly on
      some pages like GMail. However, the default for
      content.cookies.accept is still all to be in line with what
      other browsers do.
    * :navigate not incrementing in anchors or queries.
    * Crash when trying to use a proxy requiring authentication with
    * Slashes in search terms are now percent-escaped.
    * When = True was set in versions before v1.5.0,
      this now correctly gets migrated to always instead of
    * Completion highlighting now works again on Qt 5.11.3 and 5.12.1
    * The non-standard header X-Do-Not-Track is no longer sent.
    * PAC proxies were never correctly supported with QtWebEngine,
      but are now explicitly disallowed.
    * Issues with fullscreen handling when exiting a video player.
    * Various fixes for Qt 5.12 issues:
      + A javascript error on page load was fixed.
      + window.print() works with Qt 5.12 now.
      + Fixed handling of duplicate download filenames.
      + Fixed broken qute://history page.
      + Fixed PDF.js not working properly.
      + The download button in PDF.js now works (it's not possible
      to make it work with earlier Qt versions).
      + Since Greasemonkey scripts modifying the DOM fail when being
      run at document-start, some known-broken scripts (Iridium, are now forced to run at document-end.
* Sat Feb 23 2019 Martin Herkt <>
  - Require python3-qtwebengine-qt5 on TW
    (package split since PyQt5 5.12)
* Mon Oct 29 2018 Martin Herkt <>
  - Update to version 1.5.2:
    * The content.cookies.accept setting is now set to all instead
      of no-3rdparty by default, as no-3rdparty breaks various pages
      such as GMail.
* Wed Oct 10 2018 Martin Herkt <>
  - Update to version 1.5.1:
    * 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.
* Wed Oct 03 2018 Martin Herkt <>
  - Update to version 1.5.0:
    * 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
      + 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
      + 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
    * 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
      toggle images.
    * The qute-pass userscript now has optional OTP support.
    * When :spawn --userscript is called with a count, that count
      is now passed to userscripts as $QUTE_COUNT.
    * Various performance improvements when many tabs are opened.
    * The content.headers.referer setting now works on QtWebEngine.
    * The :repeat command now takes a count which is multiplied
      with the given "times" argument.
    * The default keybinding to leave passthrough mode was changed
      from <Ctrl-V> to <Shift-Escape>, which makes pasting from the
      clipboard easier in passthrough mode and is also unlikely to
      conflict with webpage bindings.
    * The app_id is now set to qutebrowser for Wayland.
    * Using :set option now shows the value of the setting
      (like :set option? already did).
    * The completion.web_history_max_items setting got renamed to
    * Regenerating completion history now shows a progress dialog.
    * The content.autoplay setting now supports URL patterns on
      Qt >= 5.11.
    * The content.host_blocking.whitelist setting now takes a list
      of URL patterns instead of globs.
    * In passthrough mode, Ctrl + Mousewheel now also gets passed
      through to the page instead of zooming.
    * Editing text in an external editor now simulates a JS "input"
      event, which improves compatibility with websites reacting
      via JS to input.
    * The qute://settings page is now properly sorted on Python 3.5
    * :zoom, :zoom-in and :zoom-out now have a --quiet switch which
      causes them to not display a message.
    * The setting now takes three values instead of
      being a boolean: always, never, and when-searching (which
      only displays it while a search is active).
    * '@@' now repeats the last run macro.
    * The content.host_blocking.lists setting now accepts a file://
      URL to a directory, and reads all files in that directory.
    * The :tab-give and :tab-take command now have a new flag
    - -keep which causes them to keep the old tab around.
    * :navigate now clears the URL query.
    * qute:// pages now work properly on Qt 5.11.2
    * Error when passing a substring with spaces to :tab-take.
    * Greasemonkey scripts which start with an UTF-8 BOM are now
      handled correctly.
    * When no documentation has been generated, the plaintext
      documentation now can be shown for more files such as
    * Crash when doing initial run on Wayland without XWayland.
    * Crash when trying to load an empty session file.
    * :hint with an invalid --mode= value now shows a proper error.
    * Rare crash on Qt 5.11.2 when clicking on <select> elements.
    * Rare crash related to the completion.
    * Support for importing pre-v1.0.0 history files has been
    * The content.webrtc_public_interfaces_only setting has been
      removed and replaced by content.webrtc_ip_handling_policy.
* Sun Sep 02 2018
  - Update to version 1.4.2:
    * 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.
    * Crash in Qt 5.7.1 when a website uses window.print().
    * The workaround for Nouveau graphic drivers now works properly
    * 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
    * Crash in the 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
    * The host blocker doesn't block anymore.
    * Crash when using :// as URL pattern.
    * The :buffer completion now sorts tabs with indices >= 10
      correctly again.
* Wed Jul 11 2018
  - Update to version 1.4.1:
    * CVE-2018-10895: Fix CSRF issue on the qute://settings page,
      leading to possible arbitrary code execution (boo#1100968).
      See the related GitHub issue for details:
    * 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 script now works correctly with PyQt 5.11.
* Tue Jul 03 2018
  - Update %description
  - Update to version 1.4.0:
    * 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
    * 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
    * 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
    * 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).
      This setting also supports URL patterns.
      + Support for registering custom protocol handlers via
      navigator.registerProtocolHandler with a new
      content.register_protocol_handler setting (requires
      Qt 5.11). This setting also supports URL patterns.
      + Support for WebRTC screen sharing with a new
      content.desktop_capture setting (requires Qt 5.10).
      This setting also supports URL patterns.
      + New content.autoplay setting to enable/disable automatic
      video playback (requires Qt 5.10).
      + New content.webrtc_public_interfaces_only setting to only
      expose public interfaces over WebRTC (requires Qt 5.9.2
      or 5.11).
      + New content.canvas_reading setting to disable reading from
      canvas elements.
    * The following settings now support URL patterns:
      + content.headers.do_not_track
      + content.headers.custom
      + content.headers.accept_language
      + content.headers.user_agent
      + content.ssl_strict
      + content.geolocation
      + content.notifications
      + content.media_capture
    * New short flags for commandline arguments: -B and -T for
    - -basedir and --temp-basedir; -d and -D for --debug and
    - -debug-flag.
    * Deleting history items via :history-clear or
      :completion-item-del now also removes that URL from
      QtWebEngine's visited links.
    * There's now completion for commands taking a variable count
      of arguments (like :config-cycle).
    * QtWebEngine: On Qt 5.11.1, no reloads are needed anymore
      when switching between pages with changed settings
      (e.g. content.javascript.enabled).
    * The qt.force_software_rendering setting changed from a
      boolean to taking different values (software-opengl,
      qt-quick and chromium) for different kinds of software
      rendering workarounds.
    * On Qt 5.11, using wayland with QtWebEngine is now possible
      when using software rendering.
    * GreaseMonkey scripts now get their own global scope (based on
      the page's one), which allows scripts like OneeChan to work.
    * Rapid hinting is now supported with the yank and yank-primary
      targets, copying newline-separated links.
    * QtWebEngine: On Qt 5.11, the developer tools (inspector) can
      now be used securely and without requiring the
    - -enable-webengine-inspector option.
    * The <Enter> key (:follow-selected) now follows the currently
      focused element if there's no selection.
    * The --logfilter argument now can be prepended with an
      exclamation mark (e.g. --logfilter '!init,destroy') to
      invert the filter.
    * :view-source now has a --pygments flag which uses the "old"
      way of rendering sources even with QtWebEngine.
    * Improved error messages when a setting needs a newer Qt
    * QtWebEngine: Various improvements to make the cursor more
      visible in caret browsing.
    * When a prompt is opened in insert/passthrough mode, the mode
      is restored after closing the prompt.
    * On Qt 5.10 or newer, dictionaries are now read from the
      qutebrowser data directory (e.g. ~/.local/share/qutebrowser)
      instead of /usr/share/qt.
      Existing dictionaries are copied over.
    * If an error while parsing ~/.netrc occurs, the cause of the
      error is now logged.
    * On Qt 5.9 or newer, certificate errors now show Chromium's
      detailed error page.
    * Greasemonkey scripts now support a "@qute-js-world" tag to
      run them in a different JavaScript context.
    * Various subtle keyboard focus issues.
    * The security fix in v1.3.3 caused URLs with ampersands
      ( to send the wrong arguments
      when clicked on the qute://history page (boo#1100968,
    * Crash when opening a PDF page with PDF.js enabled
      (on QtWebKit), but no PDF.js installed.
    * Crash when closing a tab shortly after opening it.
    * :tab-detach which has been deprecated in v1.1.0 has been
    * The content.developer_extras setting got removed.
      On QtWebKit, developer extras are now automatically enabled
      when opening the inspector.
* Fri Jun 22 2018
  - Update to version 1.3.3:
    * 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.
      This issue has been assigned CVE-2018-1000559.
    * Crash in a workaround for a Qt 5.11 bug in rare
    * Workaround for a Qt bug which preserves searches between page
* Wed Jun 13 2018
  - Update to version 1.3.2:
    * 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
    * 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.
* Tue May 29 2018
  - Update to version 1.3.1:
    * 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.
* Fri May 04 2018
  - Use upstream Makefile to install
    * Package scripts and manpage
  - Package AppStream metadata
  - Update to version 1.3.0:
    * New :scroll-to-anchor command to scroll to an anchor in the
    * 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.
    * 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
    * 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 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.
    * The default value for content.host_blocking.lists was
      changed to only include
      which combines various sources.
    * Error messages when trying to wrap when tabs.wrap is False
      are now logged to debug instead of messages.
    * Using hints before a page is fully loaded is now possible
    * Selecting hints with the number keypad now works again.
    * Tab titles for tabs loaded from sessions should now really be
      correct instead of showing the URL.
    * Loading URLs with customized settings from a session now
      avoids an additional reload.
    * The window icon and title now get set correctly again.
    * The tabs.switching_delay setting now has a correct maximum
      value limit set.
    * The taskadd script now works properly when there's multi-line
    * QtWebEngine: Worked around issues with
      GreaseMonkey/stylesheets not being loaded correctly in some
    * The statusbar now more closely reflects the caret mode state.
    * The icon on Windows should now be displayed in a higher
    * The QtWebEngine development tools (inspector) now also work
      when JavaScript is disabled globally.
    * Building .exe files now works when upx is installed on the
    * The keyhint widget now shows the correct text for chained
    * Loading GreaseMonkey scripts now also works with Jinja2 2.8
      (e.g. on Debian Stable).
    * Adding styles with GreaseMonkey on fast sites now works
    * Window ID 0 is now excluded properly from ":tab-take"
    * A rare crash when cancelling a download has been fixed.
    * The Makefile (intended for packagers) now supports PREFIX
    * The workaround for a black window with Nvidia graphics is now
      enabled on non-Linux systems (like FreeBSD) as well.
    * Initial support for Qt 5.11.
    * Checking for a new version after sending a crash report now
      works properly again.
    * "@match" in Greasemonkey scripts now more closely matches the
      proper pattern syntax.
    * Searching via / or ? now doesn't handle any characters in a
      special way.
    * Fixed crash when trying to retry some failed downloads on
    * An invalid spellcheck dictionary filename now doesn't crash
      anymore. When no spellcheck dictionaries are configured,
      it's now disabled internally. This works around an issue with
      entering special characters on Facebook messenger.
* Wed Mar 14 2018
  - Update to version 1.2.1:
    * 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.
* Sat Mar 10 2018
  - Update keyring
  - Update to version 1.2.0:
    * 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 now takes a third argument which is
      the pattern.
      + New with config.pattern('...') as p: context manager for 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
    * New special pages:
      + qute://bindings (opened via :bind) which shows all
      + qute://tabs (opened via :buffer) which lists all tabs.
    * New settings:
      + statusbar.widgets to configure which widgets should be
      shown in which order in the statusbar.
      + tabs.mode_on_change which replaces
      tabs.persist_mode_on_change. It can now be set to restore
      which remembers input modes (input/passthrough) per tab.
      + input.insert_mode.auto_enter which makes it possible to
      disable entering insert mode automatically when an editable
      element was clicked. Together with
      input.forward_unbound_keys, this should allow for
      emacs-like "modeless" keybindings.
    * New :prompt-yank command (bound to Alt-y by default) to yank
      URLs referenced in prompts.
    * The hostblock_blame script which was removed in v1.0 was
      updated for the new config and re-added.
    * New cycle-inputs.js script in scripts/ which can be used with
      :jseval -f to cycle through inputs.
    * Complete refactoring of key input handling, with various
      + emacs-like keychains such as <Ctrl-X><Ctrl-C> can now be
      + Key chains can now be bound in any mode (this allows
      binding unused keys in hint mode).
      + Yes/no prompts don't use keybindings from the prompt
      section anymore, they have their own yesno section instead.
      + Trying to bind invalid keys now shows an error.
      + The bindings.default setting can now only be set in a, and existing values in autoconfig.yml are
    * Improvements for GreaseMonkey support:
      + @include and @exclude now support regex matches.
      With QtWebEngine and Qt 5.8 and newer, Qt handles the
      matching, but similar functionality will be added in
      Qt 5.11.
      + Support for @requires
      + Support for the GreaseMonkey 4.0 API
    * The sqlite history now uses write-ahead logging which should
      be a performance and stability improvement.
    * When an editor is spawned with :open-editor and :config-edit,
      the changes are now applied as soon as the file is saved in
      the editor.
    * The script now only imports URL schemes
      qutebrowser can handle.
    * Deleting a prefix (:, / or ?) via backspace now leaves
      command mode.
    * Angular 1 elements and <summary>/<details> now get hints
    * :tab-only with pinned tabs now still closes unpinned tabs.
    * The url.incdec_segments option now also can take port as
      possible segment.
    * QtWebEngine: :view-source now uses Chromium's view-source:
    * Tabs now show their full title as tooltip.
    * When there are multiple unknown keys in a autoconfig.yml,
      they now all get reported in one error.
    * More performance improvements when opening/closing many tabs.
    * The :version page now has a button to pastebin the
    * Replacements like {url} can now be escaped as {{url}}.
    * QtWebEngine bugfixes:
      + Improved fullscreen handling with Qt 5.10.
      + Hinting and scrolling now works properly on special
      view-source: pages.
      + Scroll positions are now restored correctly from sessions.
      + :follow-selected should now work in more cases with
      Qt > 5.10.
      + Incremental search now flickers less and doesn't move to
      the second result when pressing Enter.
      + Keys like Ctrl-V or Shift-Insert are now correctly
      handled/filtered with Qt 5.10.
      + Fixed hangs/segfaults on exit with Qt 5.10.1.
      + Fixed favicons sometimes getting cleared with Qt 5.10.
      + Qt download objects are now cleaned up properly when a
      download is removed.
      + JavaScript messages are now not double-HTML escaped anymore
      on Qt < 5.11
    * QtWebKit bugfixes:
      + Fixed GreaseMonkey-related crashes.
      + :view-source now displays a valid URL.
    * URLs containing ampersands and other special chars are now
      shown correctly when filtering them in the completion.
    * :bookmark-add "" foo can now be used to save the current URL
      with a custom title.
    * :spawn -o now waits until the process has finished before
      trying to show the output. Previously, it incorrectly showed
      the previous output immediately.
    * Suspended pages now should always load the correct page when
      being un-suspended.
    * Exception types are now shown properly with :config-source
      and :config-edit.
    * When using :bookmark-add --toggle, bookmarks are now saved
    * Crash with an empty completion.timestamp_format.
    * Crash when completion.min_chars is set in some cases.
    * HTML/JS resource files are now read into RAM on start to
      avoid crashes when changing qutebrowser versions while it's
    * Setting bindings.key_mappings to an empty value is now
    * Bindings to an empty commands are now ignored rather than
    * QUTE_SELECTED_HTML is now not set for userscripts anymore
      except when called via hints.
    * The qutebrowser_viewsource userscript has been removed as
      :view-source --edit can now be used.
    * The tabs.persist_mode_on_change setting has been removed and
      replaced by tabs.mode_on_change.
* Thu Mar 01 2018
  - Update to version 1.1.2:
    * QtWebEngine: Crash with Qt 5.10.1 when using :undo on some
    * Compatibility with Python 3.7
  - Use %license macro
* Sat Jan 20 2018
  - Update to version 1.1.1:
    * Fixed crashes with Qt 5.10 when closing a tab before it
      finished loading.
* Mon Jan 15 2018
  - Update to version 1.1.0:
    * 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 to source another
    * 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 script to import history from
    * Some settings got renamed:
    * -> 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
    * High-DPI favicons are now used when available.
    * The 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 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
      environment, the decorations are still hidden.
    * The script for QtWebEngine was renamed to 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 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`
    * 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
    * Improved matching in the completion: The words entered are
      now matched in any order, and mixed matches on URL/tite are
    * 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.
    * 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
    * 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
    * 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
    * :tab-detach has been deprecated, as :tab-give without
      argument can be used instead.
    * 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
    * The x[xtb] default bindings got removed again as many users
      accidentally triggered them.



Generated by rpm2html 1.8.1

Fabrice Bellet, Fri Feb 9 12:37:16 2024