github qutebrowser/qutebrowser v2.2.0

latest releases: v3.1.0, v3.0.2, v3.0.1...
3 years ago

Deprecated

  • Running qutebrowser with Qt 5.12.0 is now unsupported and logs a warning. It
    should still work - however, a workaround for issues with the Nvidia graphic
    driver was dropped. Newer Qt 5.12.x versions are still fully supported.
  • The --force argument for :tab-only is deprecated, use --pinned close
    instead.
  • Using :tab-focus without an argument or count is now deprecated, use
    :tab-next instead.

Added

  • New dependency on the QtDBus module. If this requirement is an issue for you
    or your distribution, please open an issue! Note that a DBus connection at
    runtime is still optional.
  • New input.media_keys setting which can be used to disable Chromium's
    handling of media keys.
  • New :process command (and associated qute://process pages) which can be
    used to view and terminate/kill external processes spawned by qutebrowser.
  • New content.site_specific_quirks.skip setting which can be used to disable
    individual site-specific quirks.
  • New --pinned argument for :tab-only, which replaces --force (with
    --pinned close), but also can take --pinned keep to keep pinned tabs
    without prompting.
  • New fileselect.folder.command which can be used with
    fileselect.handler = external to customize the command to use to upload
    directories (<input type="file" webkitdirectory /> elements, which are
    non-standard but in wide use).
  • New content.notifications.presenter setting with various new ways to show
    web notifications:
    • auto (default): Automatically detect the best available option
    • qt: Use Qt's built-in mechanism (like before this release)
    • libnotify: Use a libnotify-compatible notification server (i.e. native
      notifications on Linux)
    • systray: Use a systray icon (very similar to qt but without some of
      its drawbacks)
    • messages: Use qutebrowser messages
    • herbe: Use herbe
  • New content.notifications.show_origin setting, which can be used to decide
    for which notifications to show the origin (the URL the notification was sent
    from).

Changed

  • The content.ssl_strict setting got renamed to
    content.tls.certificate_errors, with new values:
    • ask: Prompt on overridable certificate errors (ssl_strict = 'ask')
    • ask-block-thirdparty: See below
    • block: Block the page load (ssl_strict = True)
    • load-insecurely: Load the page despite the error (ssl_strict = False)
  • The new content.tls.certificate_errors setting now also understands the
    value ask-block-thirdparty, which asks for page loads but automatically blocks
    resource loads on TLS errors. This behavior is consistent with what other
    browsers do.
  • The prompt text shown on certificate errors has been improved to make it
    clearer what kind of error occurred exactly.
  • The content.site_specific_quirks setting got renamed to
    content.site_specific_quirks.enabled.
  • The content.notifications option got renamed to
    content.notifications.enabled.
  • The completion now also shows bindings starting with set-cmd-text in its
    third column, such as o for :open.
  • When :spawn is used with the -m / --output-messages flag, the output now
    appears live, while the process is running.
  • When a shown message replaces an existing related one (e.g. for zoom levels),
    the replacing now also works even if a different message was shown in between.
  • The .redirect(...) method on interceptors now supports an
    ignore_unsupported=True argument which supresses exceptions if a request could
    not be redirected. Note, however, that it is still not public API.
  • When the --config-py argument is used, no warning about a missing
    config.load_autoconfig is shown anymore, as the argument is typically used
    for temporarily testing a config.
  • The internal _autosave session used for crash recovery is now only saved
    once per minute, since saving it for every page load is a noticable performance
    issue.
  • The readability-js userscript now displays a small header with page
    information.
  • When an external file selector is used, some additional validation is done on
    the picked files now, so that errors are shown if e.g. a directory is selected
    when a file was expected.
  • The default binding for T (:tab-focus) got changed so that it fills the
    command line with :tab-focus if used without a count (instead of being
    equivalent to :tab-next in that case).
  • The :config-unset command now understands the --pattern (-u) flag to
    unset options customized for a given URL pattern (such as after answering a
    prompt with "always"/"never").
  • The :config-unset command now shows an error when used on an option which is
    valid, but was never customized.
  • The statusbar.widgets setting now understands text:... entries which
    allows adding a hard-coded text to the statusbar.
  • The polyfill for String.replaceAll (required for Nextcloud Calendar < 2.2.0
    with QtWebEngine < 5.15.3) is now disabled by default, as it's not fully
    compliant to the ECMAScript spec and might cause issues on other websites.
    If you still need it (e.g. if you're still on an old Nextcloud Calendar
    version), remove js-string-replaceall from
    content.site_specific_quirks.skip.

Fixed

  • When an editor exits with a != 0 exit status, the temporary editor file is now
    persisted. This already was the case when the editor crashed.
  • When a nonexistent file gets passed to --config-py, qutebrowser now
    complains instead of silently not loading it.
  • With some (rare) setups, opening the report dialog or using a PAC proxy with
    QtWebKit could result in qutebrowser hanging due to a PyQt bug. There's now a
    workaround which prevents the hang.
  • QtWebEngine version detection (influencing things like dark mode settings or
    certain workarounds) now works correctly on OpenBSD.
  • Certain version number formats in /etc/os-release caused qutebrowser to
    crash. Those are now handled correctly.
  • The macOS releases now properly support Dark Mode for UI elements by setting
    NSRequiresAquaSystemAppearance to false.

Removed

  • The qute://spawn-output page used by :spawn -o is now removed, as it's
    replaced by the new qute://process pages.

Don't miss a new qutebrowser release

NewReleases is sending notifications on new releases.