I’m delighted to announce that I just released qutebrowser v1.0.0!

qutebrowser is a keyboard driven browser with a vim-like, minimalistic interface. It’s written using PyQt and cross-platform.

This release comes with many big breaking changes such as the new config and QtWebEngine by default, so please take a look at the changelog.

As announced previously, per-domain settings unfortunately didn’t make it into v1.0.0 – it’s the next thing I plan on tackling. However, there’s more than enough big things in v1.0.0! 🙂


The full changelog for this release:

Major changes

  • Dependency changes:
    • Support for legacy QtWebKit (before 5.212 which is distributed independently from Qt is dropped.
    • Support for Python 3.4 is dropped.
    • Support for Qt before 5.7.1 and PyQt before 5.7 is dropped.
    • New dependency on the QtSql module and Qt sqlite support.
    • New dependency on the attrs project (packaged as python-attr in some distributions).
    • The depedency on PyOpenGL (when using QtWebEngine) got removed. Note that PyQt5.QtOpenGL is still a dependency.
    • PyQt5.QtOpenGL is now always required, even with QtWebKit.
  • The QtWebEngine backend is now used by default. Note this means that QtWebEngine now should be a required dependency, and QtWebKit (if new enough) should be changed to an optional dependency.
  • Completely rewritten configuration system which ignores the old config file. See qute://help/configuring.html for details.
  • Various documentation files got moved to the doc/ subfolder; qutebrowser.desktop got moved to misc/.
  • :set now doesn’t support toggling/cycling values anymore, that functionality got moved to :config-cycle.
  • New completion engine based on sqlite, which allows to complete the entire browsing history. The default for completion.web_history_max_items got changed to -1 (unlimited). If the completion is too slow on your machine, try setting it to a few 1000 items.


  • QtWebEngine: Spell checking support, see the spellcheck.languages setting.
  • New qt.args setting to pass additional arguments to Qt/Chromium.
  • New backend setting to select the backend to use. Together with the previous setting, this should make most wrapper scripts unnecessary.
  • qutebrowser can now be set as the default browser on macOS.
  • New config commands:
    • :config-cycle to cycle an option between multiple values.
    • :config-unset to remove a configured option.
    • :config-clear to remove all configured options.
    • :config-source to (re-)read a file.
    • :config-edit to open the file in an editor.
    • :config-write-py to write a template file.
  • New :version command which opens qute://version.
  • New back/forward indicator in the statusbar.
  • New bindings.key_mappings setting to map keys to other keys.
  • QtWebEngine: Support for proxy authentication.


Leave a Reply

Your email address will not be published. Required fields are marked *