diff -pruN 1.3.0-1/debian/changelog 1.3.2-1/debian/changelog --- 1.3.0-1/debian/changelog 2018-05-04 07:35:12.000000000 +0000 +++ 1.3.2-1/debian/changelog 2018-06-10 14:12:55.000000000 +0000 @@ -1,3 +1,15 @@ +qutebrowser (1.3.2-1) unstable; urgency=medium + + [ Fritz Reichwald ] + * Import new upstream release 1.3.1. + + [ Axel Beckert ] + * Import new upstream release 1.3.2. + * Drop "X-Python3-Version: >= 3.5" header. Other build-dependencies + don't allow building in Debian releases older than Debian 9 Stretch. + + -- Axel Beckert Sun, 10 Jun 2018 16:12:55 +0200 + qutebrowser (1.3.0-1) unstable; urgency=medium * Import new upstream release diff -pruN 1.3.0-1/debian/control 1.3.2-1/debian/control --- 1.3.0-1/debian/control 2018-05-04 07:35:12.000000000 +0000 +++ 1.3.2-1/debian/control 2018-06-10 12:31:34.000000000 +0000 @@ -14,7 +14,6 @@ Build-Depends: asciidoc, python3-setuptools, source-highlight, xsltproc -X-Python3-Version: >= 3.5 Standards-Version: 4.1.4 Homepage: https://qutebrowser.org Vcs-Git: https://github.com/qutebrowser/qutebrowser-debian.git diff -pruN 1.3.0-1/doc/backers.html 1.3.2-1/doc/backers.html --- 1.3.0-1/doc/backers.html 2018-02-20 07:51:10.000000000 +0000 +++ 1.3.2-1/doc/backers.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,2311 +0,0 @@ - - - - - - -Crowdfunding backers - - - - - -
-
-

2017

-
-

Mid-2017, qutebrowser had its -second crowdfunding -with the goal of implementing the new config system and releasing v1.0.

-

Thanks a lot to the following people who contributed to it:

-
-

Gold sponsors

-
    -
  • -

    -Iggy -

    -
  • -
  • -

    -zwitschi -

    -
  • -
  • -

    -2x Anonymous -

    -
  • -
-
-
-

Silver sponsors

-
    -
  • -

    -benaryorg -

    -
  • -
  • -

    -Claude -

    -
  • -
  • -

    -Martin Tournoij -

    -
  • -
  • -

    -Thomas Elsensohn -

    -
  • -
  • -

    -Christian Helbling -

    -
  • -
  • -

    -Gavin Troy -

    -
  • -
  • -

    -Chris King-Parra -

    -
  • -
  • -

    -Tim Das Mool Wegener -

    -
  • -
-
-
-

Other sponsors

-
    -
  • -

    -7scan -

    -
  • -
  • -

    -AMD1212 -

    -
  • -
  • -

    -Alex -

    -
  • -
  • -

    -Alex Suykov -

    -
  • -
  • -

    -Alexey Zhikhartsev -

    -
  • -
  • -

    -Allan Nordhøy -

    -
  • -
  • -

    -Anirudh Sanjeev -

    -
  • -
  • -

    -Anssi Puustinen -

    -
  • -
  • -

    -Anton Grensjö -

    -
  • -
  • -

    -Aristaeus -

    -
  • -
  • -

    -Armin Fisslthaler -

    -
  • -
  • -

    -Ashley Hauck -

    -
  • -
  • -

    -Benedikt Steindorf -

    -
  • -
  • -

    -Bernardo Kuri -

    -
  • -
  • -

    -Blaise Duszynski -

    -
  • -
  • -

    -Bostan -

    -
  • -
  • -

    -Bruno Oliveira -

    -
  • -
  • -

    -BunnyApocalypse -

    -
  • -
  • -

    -Christian Kellermann -

    -
  • -
  • -

    -Colin Jacobs -

    -
  • -
  • -

    -Daniel Andersson -

    -
  • -
  • -

    -Daniel Nelson -

    -
  • -
  • -

    -Daniel P. Schmidt -

    -
  • -
  • -

    -Daniel Salby -

    -
  • -
  • -

    -Danilo -

    -
  • -
  • -

    -David Beley -

    -
  • -
  • -

    -David Hollings -

    -
  • -
  • -

    -David Keijser -

    -
  • -
  • -

    -David Parrish -

    -
  • -
  • -

    -Derin Yarsuvat -

    -
  • -
  • -

    -Dmytro Kostiuchenko -

    -
  • -
  • -

    -Eero Kari -

    -
  • -
  • -

    -Epictek -

    -
  • -
  • -

    -Eric -

    -
  • -
  • -

    -Faure Hu -

    -
  • -
  • -

    -Ferus -

    -
  • -
  • -

    -Frederik Thorøe -

    -
  • -
  • -

    -G4v4g4i -

    -
  • -
  • -

    -Granitosaurus -

    -
  • -
  • -

    -Gyula Teleki -

    -
  • -
  • -

    -H -

    -
  • -
  • -

    -Heinz Bruhin -

    -
  • -
  • -

    -Hosaka -

    -
  • -
  • -

    -Ihor Radchenko -

    -
  • -
  • -

    -Iordanis Grigoriou -

    -
  • -
  • -

    -Isaac Sandaljian -

    -
  • -
  • -

    -Jakub Podeszwik -

    -
  • -
  • -

    -Jamie Anderson -

    -
  • -
  • -

    -Jasper Woudenberg -

    -
  • -
  • -

    -Jay Kamat -

    -
  • -
  • -

    -Jens Højgaard -

    -
  • -
  • -

    -Johannes -

    -
  • -
  • -

    -John Baber-Lucero -

    -
  • -
  • -

    -Jonas Schürmann -

    -
  • -
  • -

    -Kenichiro Ito -

    -
  • -
  • -

    -Kenny Low -

    -
  • -
  • -

    -Lars Ivar Igesund -

    -
  • -
  • -

    -Leulas -

    -
  • -
  • -

    -Lucas Aride Moulin -

    -
  • -
  • -

    -Ludovic Chabant -

    -
  • -
  • -

    -Lukas Gierth -

    -
  • -
  • -

    -Magnus Lindström -

    -
  • -
  • -

    -Marulkan -

    -
  • -
  • -

    -Matthew Chun-Lum -

    -
  • -
  • -

    -Matthew Cronen -

    -
  • -
  • -

    -Matthew Quigley -

    -
  • -
  • -

    -Michael Schönwälder -

    -
  • -
  • -

    -Mika Kutila -

    -
  • -
  • -

    -Mitchell Stokes -

    -
  • -
  • -

    -Nathan Howell -

    -
  • -
  • -

    -Nathan Schlehlein -

    -
  • -
  • -

    -Noël Zindel -

    -
  • -
  • -

    -Obri -

    -
  • -
  • -

    -Patrik Peng -

    -
  • -
  • -

    -Peter DiMarco -

    -
  • -
  • -

    -Peter Rice -

    -
  • -
  • -

    -Philipp Middendorf -

    -
  • -
  • -

    -Pkill9 -

    -
  • -
  • -

    -PluMGMK -

    -
  • -
  • -

    -Prescott -

    -
  • -
  • -

    -ProXicT -

    -
  • -
  • -

    -Ram-Z -

    -
  • -
  • -

    -Robotichead -

    -
  • -
  • -

    -Roshless -

    -
  • -
  • -

    -Ryan Ellis -

    -
  • -
  • -

    -Ryan P Deslandes -

    -
  • -
  • -

    -Sam Doshi -

    -
  • -
  • -

    -Sam Stone -

    -
  • -
  • -

    -Sean Herman -

    -
  • -
  • -

    -Sebastian Frysztak -

    -
  • -
  • -

    -Shelby Cruver -

    -
  • -
  • -

    -Simon Désaulniers -

    -
  • -
  • -

    -SirCmpwn -

    -
  • -
  • -

    -Soham Pal -

    -
  • -
  • -

    -Stephan Jauernick -

    -
  • -
  • -

    -Stewart Webb -

    -
  • -
  • -

    -Sven Reinecke -

    -
  • -
  • -

    -Timothée Floure -

    -
  • -
  • -

    -Tom Bass -

    -
  • -
  • -

    -Tom Kirchner -

    -
  • -
  • -

    -Tomas Slusny -

    -
  • -
  • -

    -Tomasz Kramkowski -

    -
  • -
  • -

    -Tommy Thomas -

    -
  • -
  • -

    -Tuscan -

    -
  • -
  • -

    -Ulrich Pötter -

    -
  • -
  • -

    -Vasilij Schneidermann -

    -
  • -
  • -

    -Vlaaaaaaad -

    -
  • -
  • -

    -XTaran -

    -
  • -
  • -

    -Z2h-A6n -

    -
  • -
  • -

    -ayekat -

    -
  • -
  • -

    -beanieuptop -

    -
  • -
  • -

    -cee -

    -
  • -
  • -

    -craftyguy -

    -
  • -
  • -

    -demure -

    -
  • -
  • -

    -dlangevi -

    -
  • -
  • -

    -epon -

    -
  • -
  • -

    -evenorbert -

    -
  • -
  • -

    -fishss -

    -
  • -
  • -

    -gsnewmark -

    -
  • -
  • -

    -guillermohs9 -

    -
  • -
  • -

    -hernani -

    -
  • -
  • -

    -hubcaps -

    -
  • -
  • -

    -jnphilipp -

    -
  • -
  • -

    -lobachevsky -

    -
  • -
  • -

    -neodarz -

    -
  • -
  • -

    -nihlaeth -

    -
  • -
  • -

    -notbenh -

    -
  • -
  • -

    -nyctea -

    -
  • -
  • -

    -ongy -

    -
  • -
  • -

    -patrick suwanvithaya -

    -
  • -
  • -

    -pyratebeard -

    -
  • -
  • -

    -p≡p foundation -

    -
  • -
  • -

    -randm_dave -

    -
  • -
  • -

    -sabreman -

    -
  • -
  • -

    -toml -

    -
  • -
  • -

    -vimja -

    -
  • -
  • -

    -wiz -

    -
  • -
  • -

    -48 Anonymous -

    -
  • -
-
-
-
-
-

2016

-
-

Mid-2016, qutebrowser did run a crowdfunding for -QtWebEngine support in qutebrowser.

-

Thanks a lot to the following people who contributed to it:

-
-

Gold sponsors

-
    -
  • -

    -Chris Salzberg -

    -
  • -
  • -

    -Clayton Craft -

    -
  • -
  • -

    -Jean-Louis Fuchs -

    -
  • -
  • -

    -Matthias Lisin -

    -
  • -
  • -

    -1 Anonymous -

    -
  • -
-
-
-

Day sponsors

-
    -
  • -

    -Agent 42 -

    -
  • -
  • -

    -Iggy Jackson -

    -
  • -
  • -

    -James B -

    -
  • -
  • -

    -Rudi Seitz -

    -
  • -
  • -

    -Tim „Das MooL“ Wegener -

    -
  • -
  • -

    -amd1212 -

    -
  • -
  • -

    -gavtroy -

    -
  • -
  • -

    -4 Anonymous -

    -
  • -
-
-
-

Other sponsors

-
    -
  • -

    -AP M -

    -
  • -
  • -

    -Alessandro Balzano -

    -
  • -
  • -

    -Allan Nordhøy -

    -
  • -
  • -

    -Andor Uhlar -

    -
  • -
  • -

    -Andreas Leppert -

    -
  • -
  • -

    -Andreas Saga Romsdal -

    -
  • -
  • -

    -Andrew Rogers / tuxlovesyou -

    -
  • -
  • -

    -André Glüpker -

    -
  • -
  • -

    -Arian Sanusi -

    -
  • -
  • -

    -Arin Lares -

    -
  • -
  • -

    -Assaf Lavie -

    -
  • -
  • -

    -Baptiste Wicht -

    -
  • -
  • -

    -Benjamin Richter -

    -
  • -
  • -

    -Benjamin Schnitzler -

    -
  • -
  • -

    -Bernardo Kuri -

    -
  • -
  • -

    -Boris Kourtoukov -

    -
  • -
  • -

    -Brian Buccola -

    -
  • -
  • -

    -Bruno Oliveira -

    -
  • -
  • -

    -Bryan Gilbert -

    -
  • -
  • -

    -Cassandra Rebecca Ruppen -

    -
  • -
  • -

    -Charles Saternos -

    -
  • -
  • -

    -Chris H -

    -
  • -
  • -

    -Christian Karl -

    -
  • -
  • -

    -Christian Lange -

    -
  • -
  • -

    -Christian Strasser -

    -
  • -
  • -

    -Colin O’Brien -

    -
  • -
  • -

    -Corsin Pfister -

    -
  • -
  • -

    -Cosmin Popescu -

    -
  • -
  • -

    -Daniel Andersson -

    -
  • -
  • -

    -David Wilson -

    -
  • -
  • -

    -Demure Demeanor -

    -
  • -
  • -

    -Doug Stone-Weaver -

    -
  • -
  • -

    -Eero Kari -

    -
  • -
  • -

    -Enric Morales -

    -
  • -
  • -

    -Eric Krohn -

    -
  • -
  • -

    -Eskild Hustvedt -

    -
  • -
  • -

    -Federico Panico -

    -
  • -
  • -

    -Felix Van der Jeugt -

    -
  • -
  • -

    -Francis Tseng -

    -
  • -
  • -

    -Geir Isene -

    -
  • -
  • -

    -George Voronin -

    -
  • -
  • -

    -German Correa -

    -
  • -
  • -

    -Grady Martin -

    -
  • -
  • -

    -Gregor Böhl -

    -
  • -
  • -

    -Guilherme Stein -

    -
  • -
  • -

    -Hannes Doyle -

    -
  • -
  • -

    -Hasan Soydabas -

    -
  • -
  • -

    -Ian Scott -

    -
  • -
  • -

    -Jacob Boldman -

    -
  • -
  • -

    -Jacob Wikmark -

    -
  • -
  • -

    -Jan Verbeek -

    -
  • -
  • -

    -Jarrod Seccombe -

    -
  • -
  • -

    -Joel Bradshaw -

    -
  • -
  • -

    -Johannes Martinsson -

    -
  • -
  • -

    -Jonas Schürmann -

    -
  • -
  • -

    -Josh Medeiros -

    -
  • -
  • -

    -José Alberto Orejuela García -

    -
  • -
  • -

    -Julie Engel -

    -
  • -
  • -

    -Jörg Behrmann -

    -
  • -
  • -

    -Jørgen Skancke -

    -
  • -
  • -

    -Kevin Kainan Li -

    -
  • -
  • -

    -Kevin Velghe -

    -
  • -
  • -

    -Konstantin Shmelkov -

    -
  • -
  • -

    -Kyle Frazer -

    -
  • -
  • -

    -Lukas Gierth -

    -
  • -
  • -

    -Mar v Leeuwaarde -

    -
  • -
  • -

    -Marek Roszman -

    -
  • -
  • -

    -Marius Betz -

    -
  • -
  • -

    -Marius Krämer -

    -
  • -
  • -

    -Markus Schmidinger -

    -
  • -
  • -

    -Martin Gabelmann -

    -
  • -
  • -

    -Martin Zimmermann -

    -
  • -
  • -

    -Mathias Fußenegger -

    -
  • -
  • -

    -Maxime Wack -

    -
  • -
  • -

    -Michał Góral -

    -
  • -
  • -

    -Nathan Isom -

    -
  • -
  • -

    -Nathanael Philipp -

    -
  • -
  • -

    -Nils Stål -

    -
  • -
  • -

    -Oliver Hope -

    -
  • -
  • -

    -Oskar Nyberg -

    -
  • -
  • -

    -Pablo Navarro -

    -
  • -
  • -

    -Panashe M. Fundira -

    -
  • -
  • -

    -Patric Schmitz -

    -
  • -
  • -

    -Pete M -

    -
  • -
  • -

    -Peter Smith -

    -
  • -
  • -

    -Phil Collins -

    -
  • -
  • -

    -Philipp Hansch -

    -
  • -
  • -

    -Philipp Kuhnz -

    -
  • -
  • -

    -Raphael Khaiat -

    -
  • -
  • -

    -Raphael Pierzina -

    -
  • -
  • -

    -Renan Guilherme -

    -
  • -
  • -

    -Rick Losie -

    -
  • -
  • -

    -Robert Cross -

    -
  • -
  • -

    -Roy Van Ginneken -

    -
  • -
  • -

    -Rupus Reinefjord -

    -
  • -
  • -

    -Ryan Roden-Corrent -

    -
  • -
  • -

    -Samir Benmendil -

    -
  • -
  • -

    -Simon Giotta -

    -
  • -
  • -

    -Stephen England -

    -
  • -
  • -

    -Sverrir H Steindorsson -

    -
  • -
  • -

    -Tarcisio Fedrizzi -

    -
  • -
  • -

    -Thorsten Wißmann -

    -
  • -
  • -

    -Timon Stampfli -

    -
  • -
  • -

    -Tjelvar Olsson -

    -
  • -
  • -

    -Tomasz Kramkowski -

    -
  • -
  • -

    -Tsukiko Tsutsukakushi -

    -
  • -
  • -

    -Vasilij Schneidermann -

    -
  • -
  • -

    -Vinney Cavallo -

    -
  • -
  • -

    -Wesly Grefrath -

    -
  • -
  • -

    -Will Ware -

    -
  • -
  • -

    -Yousaf Khurshid -

    -
  • -
  • -

    -Zach Schultz -

    -
  • -
  • -

    -averrin -

    -
  • -
  • -

    -ben hengst -

    -
  • -
  • -

    -colin -

    -
  • -
  • -

    -craigtski47 -

    -
  • -
  • -

    -dag.robole -

    -
  • -
  • -

    -daniel.m.kao -

    -
  • -
  • -

    -diepfann3 -

    -
  • -
  • -

    -eamonn oneil -

    -
  • -
  • -

    -esakaforever -

    -
  • -
  • -

    -francois47 -

    -
  • -
  • -

    -glspisso -

    -
  • -
  • -

    -gmccoy4242 -

    -
  • -
  • -

    -gtcee3 -

    -
  • -
  • -

    -jonathf -

    -
  • -
  • -

    -lapinski.maciej -

    -
  • -
  • -

    -lauri.hakko -

    -
  • -
  • -

    -ljanzen -

    -
  • -
  • -

    -mutilx9 -

    -
  • -
  • -

    -nussgipfel -

    -
  • -
  • -

    -oed -

    -
  • -
  • -

    -p p -

    -
  • -
  • -

    -r.c.bruno.andre -

    -
  • -
  • -

    -robert.perce -

    -
  • -
  • -

    -sghctoma -

    -
  • -
  • -

    -targy -

    -
  • -
  • -

    -freelancer -

    -
  • -
  • -

    -pupu -

    -
  • -
  • -

    -regines -

    -
  • -
  • -

    -37 Anonymous -

    -
  • -
-
-
-
-
-

- - - diff -pruN 1.3.0-1/doc/changelog.asciidoc 1.3.2-1/doc/changelog.asciidoc --- 1.3.0-1/doc/changelog.asciidoc 2018-05-03 17:25:04.000000000 +0000 +++ 1.3.2-1/doc/changelog.asciidoc 2018-06-10 14:01:10.000000000 +0000 @@ -15,6 +15,35 @@ breaking changes (such as renamed comman // `Fixed` for any bug fixes. // `Security` to invite users to upgrade in case of vulnerabilities. +v1.3.2 +------ + +Fixed +~~~~~ + +- QtWebEngine: Improved workaround for a bug in Qt 5.11 where only the + top/bottom half of the window is used. +- QtWebEngine: Work around a bug in Qt 5.11 where an endless loading-loop is + triggered when clicking a link with an unknown scheme. +- QtWebEngine: When switching between pages with changed settings, less + unnecessary reloads are done now. +- QtWebEngine: It's now possible to open external links such as `magnet://` or + `mailto:` via hints. + +v1.3.1 +------ + +Fixed +~~~~~ + +- 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. + v1.3.0 ------ diff -pruN 1.3.0-1/doc/changelog.html 1.3.2-1/doc/changelog.html --- 1.3.0-1/doc/changelog.html 2018-03-06 12:11:31.000000000 +0000 +++ 1.3.2-1/doc/changelog.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,6836 +0,0 @@ - - - - - - -Change Log - - - - - -
-
-
-

All notable changes to this project will be documented in this file. -This project adheres to Semantic Versioning, though minor -breaking changes (such as renamed commands) can happen in minor releases.

-
-
-
-

v1.2.0 (unreleased)

-
-
-

Added

-
    -
  • -

    -Initial implementation of per-domain settings: -

    -
      -
    • -

      -:set and :config-cycle now have a -u/--pattern argument taking a - URL match pattern - for supported settings. -

      -
    • -
    • -

      -config.set in config.py now takes a third argument which is the pattern. -

      -
    • -
    • -

      -New with config.pattern('...') as p: context manager for config.py to - use the shorthand syntax with a pattern. -

      -
    • -
    • -

      -New tsh keybinding to toggle scripts for the current host. With a capital - S, the toggle is saved. With a capital H, subdomains are included. With - u instead of h, the exact current URL is used. -

      -
    • -
    • -

      -New tph keybinding to toggle plugins, with the same additional binding - described above. -

      -
    • -
    -
  • -
  • -

    -New QtWebEngine features: -

    -
      -
    • -

      -Caret/visual mode -

      -
    • -
    • -

      -Authentication via ~/.netrc -

      -
    • -
    • -

      -Retrying downloads with Qt 5.10 or newer -

      -
    • -
    • -

      -Hinting and other features inside same-origin frames -

      -
    • -
    -
  • -
  • -

    -New flags for existing commands: -

    -
      -
    • -

      -:session-load has a new --delete flag which deletes the - session after loading it. -

      -
    • -
    • -

      -New --no-last flag for :tab-focus to not focus the last tab when focusing - the currently focused one. -

      -
    • -
    • -

      -New --edit flag for :view-source to open the source in an external editor. -

      -
    • -
    • -

      -New --select flag for :follow-hint which acts like the given string was entered but doesn’t necessary follow the hint. -

      -
    • -
    -
  • -
  • -

    -New special pages: -

    -
      -
    • -

      -qute://bindings (opened via :bind) which shows all keybindings. -

      -
    • -
    • -

      -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. -

      -
    • -
    -
  • -
  • -

    -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. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Complete refactoring of key input handling, with various effects: -

    -
      -
    • -

      -emacs-like keychains such as <Ctrl-X><Ctrl-C> can now be bound. -

      -
    • -
    • -

      -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. -

      -
    • -
    -
  • -
  • -

    -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 hist_importer.py 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 assigned. -

    -
  • -
  • -

    -: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: scheme. -

    -
  • -
  • -

    -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 information. -

    -
  • -
  • -

    -Replacements like {url} can now be replaced as {{url}}. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -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. -

      -
    • -
    -
  • -
  • -

    -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 properly. -

    -
  • -
  • -

    -Crash when opening an invalid URL from an application on macOS. -

    -
  • -
  • -

    -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 open. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -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. -

    -
  • -
-
-
-
-
-

v1.1.2

-
-
-

Changed

-
    -
  • -

    -Windows/macOS releases now bundle Qt 5.10.1 which includes security fixes from - Chromium up to version 64.0.3282.140. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -QtWebEngine: Crash with Qt 5.10.1 when using :undo on some tabs. -

    -
  • -
  • -

    -Compatibility with Python 3.7 -

    -
  • -
-
-
-
-
-

v1.1.1

-
-
-

Fixed

-
    -
  • -

    -The Makefile now actually works. -

    -
  • -
  • -

    -Fixed crashes with Qt 5.10 when closing a tab before it finished loading. -

    -
  • -
-
-
-
-
-

v1.1.0

-
-
-

Added

-
    -
  • -

    -Initial support for Greasemonkey scripts. There are still some rough edges, - but many scripts should already work. -

    -
  • -
  • -

    -There’s now a misc/Makefile file in releases, which should help - distributions which package qutebrowser, as they can run something like - make -f misc/Makefile DESTDIR="$pkgdir" install now. -

    -
  • -
  • -

    -New fields for window.title_format and tabs.title.format: -

    -
      -
    • -

      -{current_url} -

      -
    • -
    • -

      -{protocol} -

      -
    • -
    -
  • -
  • -

    -New settings: -

    -
      -
    • -

      -colors.statusbar.passthrough.fg/.bg -

      -
    • -
    • -

      -completion.delay and completion.min_chars to update the completion less - often. -

      -
    • -
    • -

      -completion.use_best_match to automatically use the best-matching - command in the completion. -

      -
    • -
    • -

      -keyhint.radius to configure the edge rounding for the key hint widget. -

      -
    • -
    • -

      -qt.highdpi to turn on Qt’s High-DPI scaling. -

      -
    • -
    • -

      -tabs.pinned.shrink (true by default) to make it possible - for pinned tabs and normal tabs to have the same size. -

      -
    • -
    • -

      -content.windowed_fullscreen to show e.g. a fullscreened video in the - window without fullscreening that window. -

      -
    • -
    • -

      -tabs.persist_mode_on_change to keep the current mode when - switching tabs. -

      -
    • -
    • -

      -session.lazy_restore which allows to not load pages immediately - when restoring a session. -

      -
    • -
    -
  • -
  • -

    -New commands: -

    -
      -
    • -

      -:tab-give and :tab-take, to give tabs to another window, or take them - from another window. -

      -
    • -
    • -

      -:completion-item-yank (bound to <Ctrl-C>) to yank the current - completion item text. -

      -
    • -
    • -

      -:edit-command to edit the commandline in an editor. -

      -
    • -
    • -

      -search.incremental for incremental text search. -

      -
    • -
    -
  • -
  • -

    -New flags for existing commands: -

    -
      -
    • -

      --o flag for :spawn to show stdout/stderr in a new tab. -

      -
    • -
    • -

      ---rapid flag for :command-accept (bound to Ctrl-Enter by default), - which allows executing a command in the completion without closing it. -

      -
    • -
    • -

      ---private and --related flags for :edit-url, which have the - same effect they have with :open. -

      -
    • -
    • -

      ---history for :completion-item-focus which causes it to go - through the command history when no text was entered. The default bindings for - cursor keys in the completion changed to use that, so that they can be used - again to navigate through completion items when a text was entered. -

      -
    • -
    • -

      ---file for :debug-pyeval which makes it take a filename instead of a - line of code. -

      -
    • -
    -
  • -
  • -

    -New config.source(...) method for config.py to source another file. -

    -
  • -
  • -

    -New {line} and {column} replacements for editor.command to position the - cursor correctly. -

    -
  • -
  • -

    -New qute-pass userscript as alternative to password_fill which allows - selecting accounts via rofi or any other dmenu-compatile application. -

    -
  • -
  • -

    -New hist_importer.py script to import history from Firefox/Chromium. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Some settings got renamed: -

    -
      -
    • -

      -tabs.width.bartabs.width -

      -
    • -
    • -

      -tabs.width.indicatortabs.indicator.width -

      -
    • -
    • -

      -tabs.indicator_paddingtabs.indicator.padding -

      -
    • -
    • -

      -session_default_namesession.default_name -

      -
    • -
    • -

      -ignore_casesearch.ignore_case -

      -
    • -
    -
  • -
  • -

    -Much improved user stylesheet handling for QtWebEngine which reduces - flickering and updates immediately after setting a stylesheet. -

    -
  • -
  • -

    -High-DPI favicons are now used when available. -

    -
  • -
  • -

    -The asciidoc2html.py script now uses Pygments (which is already a dependency - of qutebrowser) instead of source-highlight for syntax highlighting. -

    -
  • -
  • -

    -The :buffer command now doesn’t require quoting anymore, similar to :open. -

    -
  • -
  • -

    -The ‘importer.py` script was largely rewritten and now also supports importing - from Firefox’ places.sqlite file and Chrome/Chromium profiles. -

    -
  • -
  • -

    -Various internal refactorings to use Python 3.5 and ECMAscript 6 features. -

    -
  • -
  • -

    -If the window.hide_wayland_decoration setting is False, but - QT_WAYLAND_DISABLE_WINDOWDECORATION is set in the environment, - the decorations are still hidden. -

    -
  • -
  • -

    -The install_dict.py script for QtWebEngine was renamed to dictcli.py and - can now also upgrade dictionaries correctly. -

    -
  • -
  • -

    -:undo now can re-open multiple tabs after :tab-only was used. -

    -
  • -
  • -

    -:config-write-py with a relative path now puts the file into the config - directory. -

    -
  • -
  • -

    -The qute://version page now also shows the uptime of qutebrowser. -

    -
  • -
  • -

    -qutebrowser now prompts to create a non-existing directory when starting a - download. -

    -
  • -
  • -

    -:jseval --file now searches relative paths in a js/ subdir in - qutebrowser’s data dir, e.g. ~/.local/share/qutebrowser/js. -

    -
  • -
  • -

    -The current/default bindings are now shown in the ``:bind` completion. -

    -
  • -
  • -

    -Empty categories are now hidden in the :open completion. -

    -
  • -
  • -

    -Search terms for URLs and titles can now be mixed when filtering the - completion. -

    -
  • -
  • -

    -The default font size for the UI got bumped up from 8pt to 10pt. -

    -
  • -
  • -

    -Improved matching in the completion: The words entered are now matched in any - order, and mixed matches on URL/tite are possible. -

    -
  • -
  • -

    -The system’s default encoding (rather than UTF-8) is now used to decode - subprocess output. -

    -
  • -
  • -

    -qutebrowser now ensures it’s focused again after an external editor is closed. -

    -
  • -
  • -

    -The colors.completion.fg setting can now be a list, allowing to specify - different colors for the three completion columns. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -More consistent sizing for favicons with vertical tabs. -

    -
  • -
  • -

    -Using :home on pinned tabs is now prevented. -

    -
  • -
  • -

    -Fix crash with unknown file types loaded via qute://help. -

    -
  • -
  • -

    -Scrolling performance improvements. -

    -
  • -
  • -

    -Sites like qute://help now redirect to qute://help/ to make sure links - work properly. -

    -
  • -
  • -

    -Fixes for the size calculation of pinned tabs in the tab bar. -

    -
  • -
  • -

    -Worked around a crash with PyQt 5.9.1 compiled against Qt < 5.9.1 when using - :yank or qute:// URLs. -

    -
  • -
  • -

    -Fixed crash when opening qute://help/img. -

    -
  • -
  • -

    -Fixed gU (:navigate up) on qute://help and webservers not handling .. - in a URL. -

    -
  • -
  • -

    -Using e.g. -s backend webkit to set the backend now works correctly. -

    -
  • -
  • -

    -Fixed crash when closing the tab an external editor was opened in. -

    -
  • -
  • -

    -When using :search-next before a search is finished, no warning about no - results being found is shown anymore. -

    -
  • -
  • -

    -Fix :click-element with an ID containing non-alphanumeric characters. -

    -
  • -
  • -

    -Fix crash when a subprocess outputs data which is not decodable as UTF-8. -

    -
  • -
  • -

    -Fix crash when closing a tab immediately after hinting. -

    -
  • -
  • -

    -Worked around issues in Qt 5.10 with loading progress never being finished. -

    -
  • -
  • -

    -Fixed a crash when writing a flag before a command (e.g. `:-w open `). -

    -
  • -
  • -

    -Fixed a crash when clicking certain form elements with QtWebEngine. -

    -
  • -
-
-
-

Deprecated

-
    -
  • -

    -:tab-detach has been deprecated, as :tab-give without argument can be used - instead. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -The long-deprecated :prompt-yes, :prompt-no, :paste-primary and :paste - commands have been removed. -

    -
  • -
  • -

    -The invocation :download <url> <dest> which was deprecated in v0.5.0 was - removed, use :download --dest <dest> <url> instead. -

    -
  • -
  • -

    -The messages.unfocused option which wasn’t used anymore was removed. -

    -
  • -
  • -

    -The x[xtb] default bindings got removed again as many users accidentally - triggered them. -

    -
  • -
-
-
-
-
-

v1.0.4

-
-
-

Fixed

-
    -
  • -

    -The qute://gpl page now works correctly again. -

    -
  • -
  • -

    -Trying to bind an empty command now doesn’t crash anymore. -

    -
  • -
  • -

    -Fixed crash when :config-write-py fails to write to the given path. -

    -
  • -
  • -

    -Fixed crash for some users when selecting a file with Qt 5.9.3 -

    -
  • -
  • -

    -Improved handling for various SQL errors -

    -
  • -
  • -

    -Fix crash when setting content.cache.size to a big value (> 2 GB) -

    -
  • -
-
-
-
-
-

v1.0.3

-
-
-

Changed

-
    -
  • -

    -macOS and Windows builds are now built with PyQt 5.9.1 and Qt 5.9.2, including - various bugfixes, as well as security fixes from Chromium up to version - 61.0.3163.79. -

    -
  • -
  • -

    -Performance improvements for tab rendering. -

    -
  • -
  • -

    -The :open-editor command is now not hidden anymore as it’s also usable in - normal mode. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Handle accessing a locked sqlite database gracefully -

    -
  • -
  • -

    -Abort pinned tab dialogs properly when a tab is closed e.g. by closing a - window -

    -
  • -
  • -

    -Unbinding a default keybinding twice now doesn’t bind it again -

    -
  • -
  • -

    -Completions are now sorted correctly again when filtered -

    -
  • -
-
-
-
-
-

v1.0.2

-
-
-

Fixed

-
    -
  • -

    -Fix workaround for black screens or crashes with Nvidia cards -

    -
  • -
  • -

    -Handle a filesystem going read-only gracefully -

    -
  • -
  • -

    -Fix crash when setting fonts.monospace -

    -
  • -
  • -

    -Fix list options not being modifyable via .append() in config.py -

    -
  • -
  • -

    -Mark the content.notifications setting as QtWebKit only correctly -

    -
  • -
  • -

    -Fix wrong rendering of keys like <back> in the completion -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Nicer error messages and other minor improvements -

    -
  • -
-
-
-
-
-

v1.0.1

-
-
-

Fixed

-
    -
  • -

    -Fixed starting after customizing fonts.tabs or fonts.debug_console. -

    -
  • -
  • -

    -Fixed starting with old PyQt versions compiled against newer Qt versions. -

    -
  • -
  • -

    -Fixed check for PyQt version to correctly enforce 5.7 (not 5.2). -

    -
  • -
-
-
-
-
-

v1.0.0

-
-
-

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. -

    -
  • -
  • -

    -Up/Down now navigates through the command history instead of selecting - completion items. Either use Tab to cycle through the completion, or - restore the old behavior. -

    -
  • -
-
-
-

Added

-
    -
  • -

    -QtWebEngine: Spell checking support, see the spellcheck.languages setting. -

    -
  • -
  • -

    -New qt.args setting to pass additional arguments to Qt/Chromium. -

    -
  • -
  • -

    -New backend setting to select the backend to use. - Together with the previous setting, this should make most wrapper scripts - unnecessary. -

    -
  • -
  • -

    -qutebrowser can now be set as the default browser on macOS. -

    -
  • -
  • -

    -New config commands: -

    -
      -
    • -

      -:config-cycle to cycle an option between multiple values. -

      -
    • -
    • -

      -:config-unset to remove a configured option. -

      -
    • -
    • -

      -:config-clear to remove all configured options. -

      -
    • -
    • -

      -:config-source to (re-)read a config.py file. -

      -
    • -
    • -

      -:config-edit to open the config.py file in an editor. -

      -
    • -
    • -

      -:config-write-py to write a config.py template file. -

      -
    • -
    -
  • -
  • -

    -New :version command which opens qute://version. -

    -
  • -
  • -

    -New back/forward indicator in the statusbar. -

    -
  • -
  • -

    -New bindings.key_mappings setting to map keys to other keys. -

    -
  • -
  • -

    -QtWebEngine: Support for proxy authentication. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Using :download now uses the page’s title as filename. -

    -
  • -
  • -

    -Using :back or :forward with a count now skips intermediate pages. -

    -
  • -
  • -

    -When there are multiple messages shown, the timeout is increased. -

    -
  • -
  • -

    -:search now only clears the search if one was displayed before, so pressing - <Escape> doesn’t un-focus inputs anymore. -

    -
  • -
  • -

    -Pinned tabs now adjust to their text’s width, so the tabs.width.pinned - setting got removed. -

    -
  • -
  • -

    -:set-cmd-text now has a --run-on-count argument to run the underlying - command directly if a count was given. -

    -
  • -
  • -

    -:scroll-perc got renamed to :scroll-to-perc. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -Migrating QtWebEngine data written by versions before 2016-11-15 (before - v0.9.0) is now not supported anymore. -

    -
  • -
  • -

    -Upgrading qutebrowser with a version older than v0.4.0 still running now won’t - work properly anymore. -

    -
  • -
  • -

    -The --harfbuzz and --relaxed-config commandline arguments got dropped. -

    -
  • -
-
-
-

Fixes

-
    -
  • -

    -Exiting fullscreen via :fullscreen or buttons on a page now - restores the correct previous window state (maximized/fullscreen). -

    -
  • -
  • -

    -When input.insert_mode.auto_load is set, background tabs now don’t enter - insert mode anymore. -

    -
  • -
  • -

    -The keybinding help widget now works correctly when using keybindings with a - count. -

    -
  • -
  • -

    -The window.hide_wayland_decoration setting now works correctly again. -

    -
  • -
-
-
-
-
-

v0.11.1

-
-
-

Fixes

-
    -
  • -

    -Fixed empty space being shown after tabs in the tabbar in some cases. -

    -
  • -
  • -

    -Fixed :restart in private browsing mode. -

    -
  • -
  • -

    -Fixed printing on macOS. -

    -
  • -
  • -

    -Closing a pinned tab via mouse now also prompts for confirmation. -

    -
  • -
  • -

    -The "try again" button on error pages works correctly again. -

    -
  • -
  • -

    -:spawn -u -d is now disallowed. -

    -
  • -
  • -

    -:spawn -d shows error messages correctly now. -

    -
  • -
-
-
-
-
-

v0.11.0

-
-
-

New dependencies

-
    -
  • -

    -New dependency on PyQt5.QtOpenGL if QtWebEngine is used. QtWebEngine depends - on QtOpenGL already, but on distributions packaging split PyQt5 wrappers, the - wrappers for QtOpenGL are now required. -

    -
  • -
  • -

    -New dependency on PyOpenGL if QtWebEngine is used. -

    -
  • -
-
-
-

Added

-
    -
  • -

    -Private browsing is now implemented for QtWebEngine, and changed its - behavior: The general -> private-browsing setting now only applies to newly - opened windows, and you can use the -p flag to :open to open a private - window. -

    -
  • -
  • -

    -New "pinned tabs" feature, with a new :tab-pin command (bound - to <Ctrl-p> by default). -

    -
  • -
  • -

    -(QtWebEngine) Implemented :follow-selected. -

    -
  • -
  • -

    -New :clear-messages command to clear shown messages. -

    -
  • -
  • -

    -New ui -> keyhint-delay setting to configure the delay until - the keyhint overlay pops up. -

    -
  • -
  • -

    -New -s option for :open to force a HTTPS scheme. -

    -
  • -
  • -

    -:debug-log-filter now accepts none as an argument to clear any log - filters. -

    -
  • -
  • -

    -New --debug-flag argument which replaces --debug-exit and - --pdb-postmortem. -

    -
  • -
  • -

    -New tabs -> favicon-scale option to scale up/down favicons. -

    -
  • -
  • -

    -colors -> statusbar.bg/fg.private and .command.private to - customize statusbar colors for private windows. -

    -
  • -
  • -

    -New {private} field displaying [Private Mode] for - ui -> window-title-format and tabs -> title-format. -

    -
  • -
  • -

    -(QtWebEngine) Proxy support with Qt 5.7.1 (already was supported for 5.8 and - newer) -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -To prevent elaborate phishing attacks, the Punycode version (xn--*) is now - shown in addition to the decoded version for international domain names - (IDN). -

    -
  • -
  • -

    -Starting with legacy QtWebKit now shows a warning message. - With the next release, support for it will be removed. -

    -
  • -
  • -

    -The Windows releases are redone from scratch, which means: -

    -
      -
    • -

      -They now use the new QtWebEngine backend -

      -
    • -
    • -

      -The bundled Qt is updated from 5.5 to 5.9 -

      -
    • -
    • -

      -The bundled Python is updated from 3.4 to 3.6 -

      -
    • -
    • -

      -They are now generated with PyInstaller instead of cx_Freeze -

      -
    • -
    • -

      -The installer is now generated using NSIS instead of being a MSI -

      -
    • -
    -
  • -
  • -

    -Improved qute://history page (with lazy loading) -

    -
  • -
  • -

    -Crash reports are not public anymore. -

    -
  • -
  • -

    -Paths like C: are now treated as absolute paths on Windows for downloads, - and invalid paths are handled properly. -

    -
  • -
  • -

    -Comments in the config file are now placed before the individual options - instead of being before sections. -

    -
  • -
  • -

    -Messages are now hidden when clicked. -

    -
  • -
  • -

    -stdin is now closed immediately for processes spawned from qutebrowser. -

    -
  • -
  • -

    -When ui -> message-timeout is set to 0, messages are now never cleared. -

    -
  • -
  • -

    -Middle/right-clicking the blank parts of the tab bar (when vertical) now - closes the current tab. -

    -
  • -
  • -

    -The adblocker now also blocks non-GET requests (e.g. POST). -

    -
  • -
  • -

    -javascript: links can now be hinted. -

    -
  • -
  • -

    -:view-source, :tab-clone and :navigate --tab now don’t open the tab as - "explicit" anymore, i.e. (with the default settings) open it next to the - active tab. -

    -
  • -
  • -

    -qute:* pages now use qute://* instead (e.g. qute://version instead of - qute:version), but the old versions are automatically redirected. -

    -
  • -
  • -

    -Texts in prompts are now selectable. -

    -
  • -
  • -

    -The default level for :messages is now info, not error -

    -
  • -
  • -

    -Trying to focus the currently focused tab with :tab-focus now focuses the - last viewed tab. -

    -
  • -
  • -

    -(QtWebEngine) With Qt 5.9, content -> cookies-store can now be set without - a restart. -

    -
  • -
  • -

    -(QtWebEngine) With Qt 5.9, better error messages are now shown for failed - downloads. -

    -
  • -
  • -

    -(QtWebEngine) The underlying Chromium version is now shown in the version - info. -

    -
  • -
  • -

    -(QtWebKit) Renderer process crashes now show an error page on Qt 5.9 or newer. -

    -
  • -
  • -

    -(QtWebKit) storage → offline-web-application-storage` got renamed to ...-cache -

    -
  • -
  • -

    -(QtWebKit) PAC now supports SOCKS5 as type. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -The macOS .dmg is now built against Qt 5.9 which fixes various - important issues (such as not being able to type dead keys). -

    -
  • -
  • -

    -Fixed crash with :download on PyQt 5.9. -

    -
  • -
  • -

    -Cloning a page without history doesn’t crash anymore. -

    -
  • -
  • -

    -When a download results in a HTTP error, it now shows the error correctly - instead of crashing. -

    -
  • -
  • -

    -Pressing ctrl-c while a config error is shown works as intended now. -

    -
  • -
  • -

    -When the key config isn’t writable, we now show an error instead of crashing. -

    -
  • -
  • -

    -Fixed crash when unbinding an unbound key in the key config. -

    -
  • -
  • -

    -Fixed crash when using :debug-log-filter when --filter wasn’t given on startup. -

    -
  • -
  • -

    -Fixed crash with some invalid setting values. -

    -
  • -
  • -

    -Continuing a search after clearing it now works correctly. -

    -
  • -
  • -

    -The tabbar and completion should now be more consistently and correctly - styled with various system styles. -

    -
  • -
  • -

    -Applying styiles in qt5ct now shouldn’t crash anymore. -

    -
  • -
  • -

    -The validation for colors in stylesheets is now less strict, - allowing for all valid Qt values. -

    -
  • -
  • -

    -data: URLs now aren’t added to the history anymore. -

    -
  • -
  • -

    -Accidentally starting with Python 2 now shows a proper error message again. -

    -
  • -
  • -

    -For some people, running some userscripts crashed - this should now be fixed. -

    -
  • -
  • -

    -Various other rare crashes should now be fixed. -

    -
  • -
  • -

    -The settings documentation was truncated with v0.10.1 which should now be - fixed. -

    -
  • -
  • -

    -Scrolling to an anchor in a background tab now works correctly, and javascript - gets the correct window size for background tabs. -

    -
  • -
  • -

    -(QtWebEngine) Added a workaround for a black screen with some setups -

    -
  • -
  • -

    -(QtWebEngine) Starting with Nouveau graphics now shows an error message - instead of crashing in Qt. -

    -
  • -
  • -

    -(QtWebEngine) Retrying downloads now shows an error instead of crashing. -

    -
  • -
  • -

    -(QtWebEngine) Cloning a view-source tab now doesn’t crash anymore. -

    -
  • -
  • -

    -(QtWebEngine) window.navigator.userAgent is now set correctly when - customizing the user agent. -

    -
  • -
  • -

    -(QtWebEngine) HTML fullscreen is now tracked for each tab separately, which - means it’s not possible anymore to accidentally get stuck in fullscreen state - by closing a tab with a fullscreen video. -

    -
  • -
  • -

    -(QtWebEngine) :scroll-page with --bottom-navigate now works correctly. -

    -
  • -
  • -

    -(QtWebKit) The HTTP cache is disabled on Qt 5.7.1 and 5.8 now as it leads to - frequent crashes due to a Qt bug. -

    -
  • -
  • -

    -(QtWebKit) Fixed Crash when a PAC file returns an invalid value. -

    -
  • -
-
-
-
-
-

v0.10.1

-
-
-

Changed

-
    -
  • -

    ---qt-arg and --qt-flag can now also be used to pass arguments to Chromium when using QtWebEngine. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -URLs are now redacted properly (username/password, and path/query for HTTPS) when using Proxy Autoconfig with QtWebKit -

    -
  • -
  • -

    -Crash when updating adblock lists with invalid UTF8-chars in them -

    -
  • -
  • -

    -Fixed the web inspector with QtWebEngine -

    -
  • -
  • -

    -Version checks when starting qutebrowser now also take the Qt version PyQt was compiled against into account -

    -
  • -
  • -

    -Hinting a input now doesn’t select existing text anymore with QtWebKit -

    -
  • -
  • -

    -The cursor now moves to the end when input elements are selected with QtWebEngine -

    -
  • -
  • -

    -Download suffixes like (1) are now correctly stripped with QtWebEngine -

    -
  • -
  • -

    -Crash when trying to print a tab which was closed in the meantime -

    -
  • -
  • -

    -Crash when trying to open a file twice on Windows -

    -
  • -
-
-
-
-
-

v0.10.0

-
-
-

Added

-
    -
  • -

    -Userscripts now have a new $QUTE_COMMANDLINE_TEXT environment variable, containing the current commandline contents -

    -
  • -
  • -

    -New ripbang userscript to create a searchengine from a duckduckgo bang -

    -
  • -
  • -

    -QtWebKit Reloaded (also called QtWebKit-NG) is now fully supported -

    -
  • -
  • -

    -Various new functionality with the QtWebEngine backend: -

    -
      -
    • -

      -Printing support with Qt >= 5.8 -

      -
    • -
    • -

      -Proxy support with Qt >= 5.8 -

      -
    • -
    • -

      -The general -> print-element-backgrounds option with Qt >= 5.8 -

      -
    • -
    • -

      -The content -> cookies-store option -

      -
    • -
    • -

      -The storage -> cache-size option -

      -
    • -
    • -

      -The colors -> webpage.bg option -

      -
    • -
    • -

      -The HTML5 fullscreen API (e.g. youtube videos) with QtWebEngine -

      -
    • -
    • -

      -:download --mhtml -

      -
    • -
    -
  • -
  • -

    -New qute:history URL and :history command to show the browsing history -

    -
  • -
  • -

    -Open tabs are now auto-saved on each successful load and restored in case of a crash -

    -
  • -
  • -

    -:jseval now has a --file flag so you can pass a javascript file -

    -
  • -
  • -

    -:session-save now has a --only-active-window flag to only save the active window -

    -
  • -
  • -

    -macOS builds are back, and built with QtWebEngine -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -PyQt 5.7/Qt 5.7.1 is now required for the QtWebEngine backend -

    -
  • -
  • -

    -Scrolling with the scrollwheel while holding shift now scrolls sideways -

    -
  • -
  • -

    -New way of clicking hints which solves various small issues -

    -
  • -
  • -

    -When yanking a mailto: link via hints, the mailto: prefix is now stripped -

    -
  • -
  • -

    -Zoom level messages are now not stacked on top of each other anymore -

    -
  • -
  • -

    -qutebrowser now automatically uses QtWebEngine if QtWebKit is unavailable -

    -
  • -
  • -

    -:history-clear now asks for a confirmation, unless it’s run with --force. -

    -
  • -
  • -

    -input -> mouse-zoom-divider can now be 0 to disable zooming by mouse wheel -

    -
  • -
  • -

    -network -> proxy can also be set to pac+file://... now to - use a local proxy autoconfig file (on QtWebKit) -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -(QtWebKit) Various rarely customized settings were removed: -

    -
      -
    • -

      -ui -> css-media-type (defaults to desktop) -

      -
    • -
    • -

      -general -> site-specific-quirks (now always turned on) -

      -
    • -
    • -

      -storage -> offline-storage-default-quota (defaults to 5MB) -

      -
    • -
    • -

      -storage -> offline-web-application-cache-quota (defaults to no quota) -

      -
    • -
    • -

      -storage -> object-cache-capacities (default depends on disk space) -

      -
    • -
    • -

      -content -> css-regions (now always turned off) -

      -
    • -
    • -

      -storage -> offline-storage-database (merged into storage -> local-storage) -

      -
    • -
    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Various bugs with Qt 5.8 and QtWebEngine: -

    -
      -
    • -

      -Segfault when closing a window -

      -
    • -
    • -

      -Segfault when closing a tab with a search active -

      -
    • -
    • -

      -Fixed various mouse actions (like automatically entering insert mode) not working -

      -
    • -
    • -

      -Fixed hints sometimes not working -

      -
    • -
    • -

      -Segfault when opening a URL after a QtWebEngine renderer process crash -

      -
    • -
    -
  • -
  • -

    -Other QtWebEngine fixes: -

    -
      -
    • -

      -Insert mode now gets entered correctly with a non-100% zoom -

      -
    • -
    • -

      -Crash reports are now re-enabled when using QtWebEngine -

      -
    • -
    • -

      -Fixed crashes when closing tabs while hinting -

      -
    • -
    • -

      -Using :undo or :tab-clone with a view-source:// or chrome:// tab is now prevented, as it segfaults -

      -
    • -
    -
  • -
  • -

    -:enter-mode now refuses to enter modes which can’t be entered manually (which caused crashes) -

    -
  • -
  • -

    -:record-macro (q) now doesn’t try to record macros for special keys without a text -

    -
  • -
  • -

    -Fixed PAC (proxy autoconfig) not working with QtWebKit -

    -
  • -
  • -

    -:download --mhtml now uses the new file dialog -

    -
  • -
  • -

    -Word hints are now upper-cased correctly when hints → uppercase is true -

    -
  • -
  • -

    -Font validation is now more permissive in the config, allowing e.g. "Terminus - (TTF)" as font name -

    -
  • -
  • -

    -Fixed starting on newer PyQt/sip versions with LibreSSL -

    -
  • -
  • -

    -When downloading files with QtWebKit, a User-Agent header is set when possible -

    -
  • -
  • -

    -Fixed showing of keybindings in the :help completion -

    -
  • -
  • -

    -:navigate prev/next now detects rel attributes on <a> elements, and - handles multiple rel attributes correctly -

    -
  • -
  • -

    -Fixed a crash when hinting with target userscript and spawning a non-existing script -

    -
  • -
  • -

    -Lines in Jupyter notebook now trigger insert mode -

    -
  • -
-
-
-
-
-

v0.9.1

-
-
-

Fixed

-
    -
  • -

    -Prevent websites from downloading files to a location outside of the download - folder with QtWebEngine. -

    -
  • -
-
-
-
-
-

v0.9.0

-
-
-

Added

-
    -
  • -

    -New dependency: qutebrowser now depends on the Qt QML module, which is - packaged separately in some distributions (as Qt Declarative/QML/Quick). -

    -
  • -
  • -

    -New :rl-backward-kill-word command which does what :rl-unix-word-rubout - did before v0.8.0. -

    -
  • -
  • -

    -New :rl-unix-filename-rubout command which is similar to readline’s - unix-filename-rubout. -

    -
  • -
  • -

    -New fonts -> completion.category setting to customize the font used for - completion category headers. -

    -
  • -
  • -

    -New :debug-log-capacity command to adjust how many lines are logged into RAM - (to report bugs which are difficult to reproduce). -

    -
  • -
  • -

    -New hide-unmatched-rapid-hints option to not hide hint unmatched hint labels - in rapid mode. -

    -
  • -
  • -

    -New {clipboard} and {primary} replacements for the commandline which - replace the :paste command. -

    -
  • -
  • -

    -New :insert-text command to insert a given text into a field on the page, - which replaces :paste-primary together with the {primary} replacement. -

    -
  • -
  • -

    -New :window-only command to close all other windows. -

    -
  • -
  • -

    -New prev-category and next-category arguments to :completion-item-focus - to focus the previous/next category in the completion (bound to <Ctrl-Tab> - and <Ctrl-Shift-Tab> by default). -

    -
  • -
  • -

    -New :click-element command to fake a click on a element. -

    -
  • -
  • -

    -New :debug-log-filter command to change console log filtering on-the-fly. -

    -
  • -
  • -

    -New :debug-log-level command to change the console loglevel on-the-fly. -

    -
  • -
  • -

    -New general -> yank-ignored-url-parameters option to configure which URL - parameters (like utm_source etc.) to strip off when yanking an URL. -

    -
  • -
  • -

    -Support for the - HTML5 page visibility API -

    -
  • -
  • -

    -New readability userscript which shows a readable version of a page (using - the readability-lxml python package) -

    -
  • -
  • -

    -New cast userscript to show a video on a Google Chromecast -

    -
  • -
  • -

    -New :run-with-count command which replaces the (undocumented) :count:command syntax. -

    -
  • -
  • -

    -New :record-macro (q) and :run-macro (@) commands for keyboard macros. -

    -
  • -
  • -

    -New ui -> hide-scrollbar setting to hide the scrollbar independently of the - user-stylesheet setting. -

    -
  • -
  • -

    -New general -> default-open-dispatcher setting to configure what to open - downloads with (instead of e.g. xdg-open on Linux). -

    -
  • -
  • -

    -Support for PAC (proxy autoconfig) with QtWebKit -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Hints are now drawn natively in Qt instead of using web elements. This has a - few implications for users: -

    -
      -
    • -

      -The hints -> opacity setting does not exist anymore, but you can use - rgba(r, g, b, alpha) colors instead for colors -> hints.bg. -

      -
    • -
    • -

      -The hints -> font setting is not affected by - fonts -> web-family-fixed anymore. Thus, a transformer got added to - change Monospace to ${_monospace}. -

      -
    • -
    • -

      -Gradients in hint colors can now be configured by using qlineargradient - and friends instead of -webkit-gradient. The most common cases get - migrated automatically, but if you drastically changed the defaults, - you’ll need to manually adjust your config. -

      -
    • -
    • -

      -Styling hints by styling qutehint elements in user-stylesheet was - never officially supported and does not work anymore. -

      -
    • -
    • -

      -Hints are now not affected by the page’s stylesheet or zoom anymore. -

      -
    • -
    -
  • -
  • -

    -:bookmark-add now has a --toggle flag which deletes the bookmark if it - already exists. -

    -
  • -
  • -

    -:bookmark-load now has a --delete flag which deletes the bookmark after - loading it. -

    -
  • -
  • -

    -:open now also accepts quickmark names instead of URLs -

    -
  • -
  • -

    -:tab-move now optionally takes an index for absolute moving. -

    -
  • -
  • -

    -Commands taking either an argument or a count (like :zoom or :tab-focus) - now prefer the count instead of showing an error message. -

    -
  • -
  • -

    -:open now has an --implicit argument to treat the opened tab as implicit - (i.e. to open it at the position it would be opened if it was a clicked link) -

    -
  • -
  • -

    -:download-open and :prompt-open-download now have an optional cmdline - argument to pass a commandline to open the download with. -

    -
  • -
  • -

    -:yank now has a position argument to select what to yank instead of using - flags. -

    -
  • -
  • -

    -Replacements like {url} can now also be used in the middle of an argument. - Consequently, commands taking another command (:later, :repeat and - :bind) now don’t immediately evaluate variables. -

    -
  • -
  • -

    -Tab titles in the :buffer completion now update correctly when a page’s - title is changed via javascript. -

    -
  • -
  • -

    -:hint now has a --mode <mode> flag to override the hint mode configured - using the hints -> mode setting. -

    -
  • -
  • -

    -With new-instance-open-target set to a tab option, the tab is now opened in - the most recently focused (instead of the last opened) window. This can be - configured with the new new-instance-open-target.window setting. - It can also be set to last-visible to show the pages in the most recently - visible window, or first-opened to use the first (oldest) available window. -

    -
  • -
  • -

    -Word hints now are more clever about getting the element text from some elements. -

    -
  • -
  • -

    -Completions for :help and :bind now also show hidden commands -

    -
  • -
  • -

    -The :buffer completion now also filters using the first column (id). -

    -
  • -
  • -

    -:undo has been improved to reopen tabs at the position they were closed. -

    -
  • -
  • -

    -:navigate now takes a count for up/increment/decrement. -

    -
  • -
  • -

    -The hints -> auto-follow setting now can be set to - always/full-match/unique-match/never to more precisely control when - hints should be followed automatically. -

    -
  • -
  • -

    -Counts can now be used with special keybindings (e.g. with modifiers). - This was already implemented for v0.7.0 originally, but got reverted because - it caused some issues and then never re-applied. -

    -
  • -
  • -

    -Sending a command to an existing instance (via "qutebrowser :reload") now - doesn’t mark it as urgent anymore. -

    -
  • -
  • -

    -tabs -> title-format now treats an empty string as valid. -

    -
  • -
  • -

    -Bindings for :, / and ? are now configured explicitly and not hardcoded - anymore. -

    -
  • -
  • -

    -The completion -> show setting can now be set to always, auto or - never. -

    -
  • -
  • -

    -:open-editor can now be used in any mode. -

    -
  • -
  • -

    -Lots of improvements to and bugfixes for the QtWebEngine backend, such as - working hints. However, using qutebrowser directly from git is still advised - when using --backend webengine. -

    -
  • -
  • -

    -content -> javascript-can-open-windows got renamed to - javascript-can-open-windows-automatically. -

    -
  • -
  • -

    -:prompt-accept now optionally accepts a value which overrides the one - entered in the input box. yes and no can be used as values for yes/no - questions. -

    -
  • -
  • -

    -The new --qt-arg and --qt-flag arguments can be used to pass - arguments/flags to Qt’s commandline. -

    -
  • -
  • -

    -Error/warning/info messages are now shown stacked above the statusbar. - This also added various new settings: -

    -
      -
    • -

      -colors -> messages.fg.error (renamed from statusbar.fg.error) -

      -
    • -
    • -

      -colors -> messages.bg.error (renamed from statusbar.bg.error) -

      -
    • -
    • -

      -colors -> messages.border.error -

      -
    • -
    • -

      -colors -> messages.fg.warning (renamed from statusbar.fg.warning) -

      -
    • -
    • -

      -colors -> messages.bg.warning (renamed from statusbar.bg.warning) -

      -
    • -
    • -

      -colors -> messages.border.warning -

      -
    • -
    • -

      -colors -> messages.fg.info -

      -
    • -
    • -

      -colors -> messages.bg.info -

      -
    • -
    • -

      -colors -> messages.border.info -

      -
    • -
    • -

      -fonts -> messages.error -

      -
    • -
    • -

      -fonts -> messages.warning -

      -
    • -
    • -

      -fonts -> messages.info -

      -
    • -
    -
  • -
  • -

    -The qute:settings page now also shows option descriptions. -

    -
  • -
  • -

    -qute:version and qutebrowser --version now show various important paths -

    -
  • -
  • -

    -:spawn/userscripts now show a nicer error when a script wasn’t found -

    -
  • -
  • -

    -Various functionality now works when javascript is disabled with QtWebKit -

    -
  • -
  • -

    -Various commands/settings taking left/right/previous arguments now take - prev/next/last-used to remove ambiguity. -

    -
  • -
  • -

    -The ui -> user-stylesheet setting now only takes filenames, not CSS snippets -

    -
  • -
  • -

    -ui -> window-title-format now has a new `xhtml11 ` replacement -

    -
  • -
  • -

    -:hint has a new --add-history argument to add the URL to the history for - yank/spawn targets. -

    -
  • -
  • -

    -:set now cycles through values if more than one argument is given. -

    -
  • -
  • -

    -:open now opens default-page without an URL even without -t/-b/-w given. -

    -
  • -
-
-
-

Deprecated

-
    -
  • -

    -The :paste command got deprecated as :open with {clipboard} and - {primary} can be used instead. -

    -
  • -
  • -

    -The :paste-primary command got deprecated as :insert-text {primary} can - be used instead. -

    -
  • -
  • -

    -The :prompt-yes and :prompt-no commands got deprecated as - :prompt-accept yes and :prompt-accept no can be used instead. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -The :yank-selected command got merged into :yank as :yank selection - and thus removed. -

    -
  • -
  • -

    -The :completion-item-prev and :completion-item-next commands got merged - into a new :completion-focus {prev,next} command and thus removed. -

    -
  • -
  • -

    -The ui -> hide-mouse-cursor setting since it was completely broken and - nobody seemed to care. -

    -
  • -
  • -

    -The hints -> opacity setting - see the "Changed" section for details. -

    -
  • -
  • -

    -The completion -> auto-open setting got merged into completion -> show and - thus removed. -

    -
  • -
  • -

    -All --qt-* arguments got replaced by --qt-arg and --qt-flag and thus - removed. -

    -
  • -
  • -

    -The -c/--confdir, --datadir and --cachedir arguments got removed, as - --basedir should be sufficient. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -:undo now doesn’t undo tabs "closed" by :tab-detach anymore. -

    -
  • -
  • -

    -Fixed an issue with hint chars not being cleared correctly when leaving hint - mode. -

    -
  • -
  • -

    -:tab-detach now fails correctly when there’s only one tab open. -

    -
  • -
  • -

    -Various small issues with the command completion -

    -
  • -
  • -

    -Fixed hang when using multiple spaces in a row with the URL completion -

    -
  • -
  • -

    -qutebrowser now still starts with an incorrectly configured - $XDG_RUNTIME_DIR. -

    -
  • -
  • -

    -Fixed crash when a userscript writes invalid unicode data to the FIFO -

    -
  • -
  • -

    -Fixed crash when a included HTML was not found -

    -
  • -
-
-
-
-
-

v0.8.3

-
-
-

Fixed

-
    -
  • -

    -Fixed crash when doing :<space><enter>, another corner-case introduced in v0.8.0 -

    -
  • -
  • -

    -Fixed :open-editor (<Ctrl-e>) on Windows -

    -
  • -
  • -

    -Fixed crash when setting general -> auto-save-interval to a too big value. -

    -
  • -
  • -

    -Fixed crash when using hints on Void Linux. -

    -
  • -
  • -

    -Fixed compatibility with Python 3.5.2+ on Debian unstable -

    -
  • -
  • -

    -Compatibility with pdfjs v1.6.210 -

    -
  • -
  • -

    -:bind can now be used to bind to an alias (binding by editing keys.conf - already worked before) -

    -
  • -
  • -

    -The command completion now updates correctly when changing aliases -

    -
  • -
  • -

    -The tabbar now displays correctly with the Adwaita Qt theme -

    -
  • -
  • -

    -The default sk keybinding now sets the commandline to :bind correctly -

    -
  • -
  • -

    -Fixed crash when closing a window without focusing it -

    -
  • -
  • -

    -Userscripts now can access QUTE_FIFO correctly on Windows -

    -
  • -
-
-
-
-
-

v0.8.2

-
-
-

Fixed

-
    -
  • -

    -Fixed general -> private-browsing not being set correctly until a restart - (which caused e.g. local storage to be enabled). -

    -
  • -
  • -

    -When hinting input fields (:t), also consider input elements without a type. -

    -
  • -
  • -

    -Fixed crash when opening an invalid URL with a percent-encoded and a real @ in it -

    -
  • -
  • -

    -Fixed default ;o and ;O bindings -

    -
  • -
  • -

    -Fixed local storage not working (and possible other bugs) when using a - relative path with --basedir. -

    -
  • -
  • -

    -Fixed crash when deleting a quickmark with Ctrl-D -

    -
  • -
  • -

    -Fixed HTML5 video playback on Windows -

    -
  • -
  • -

    -Fixed crash when using ‘:prompt-open-download` with a file with chars not - encodable with the OS’ filesystem encoding (e.g. with LC_ALL=C) -

    -
  • -
  • -

    -Fixed :prompt-open-download with a too long filename (> 255 bytes) -

    -
  • -
  • -

    -Fixed crash when cancelling a download after doing :prompt-open-download -

    -
  • -
  • -

    -Fixed crash when writing a download to disk fails with - :prompt-open-download. -

    -
  • -
  • -

    -Fixed :restart deleting the basedir when it was given with --basedir. -

    -
  • -
-
-
-
-
-

v0.8.1

-
-
-

Fixed

-
    -
  • -

    -Fix crash when pressing enter without a command -

    -
  • -
  • -

    -Adjust error message to point out QtWebEngine is unsupported with the OS - X .app currently. -

    -
  • -
  • -

    -Hide Harfbuzz warning with the macOS .app -

    -
  • -
-
-
-
-
-

v0.8.0

-
-
-

Added

-
    -
  • -

    -New :repeat-command command (mapped to .) to repeat the last command. - Note that two former default bundings conflict with that binding, unbinding - them via :unbind .i and :unbind .o is recommended. -

    -
  • -
  • -

    -New qute:bookmarks page which displays all bookmarks and quickmarks. -

    -
  • -
  • -

    -New :prompt-open-download (bound to Ctrl-X) which can be used to open a - download directly when getting the filename prompt. -

    -
  • -
  • -

    -New {host} replacement for tab- and window titles which evaluates - to the current host. -

    -
  • -
  • -

    -New default binding ;t for :hint input. -

    -
  • -
  • -

    -New variables $QUTE_CONFIG_DIR, $QUTE_DATA_DIR and - $QUTE_DOWNLOAD_DIR available for userscripts. -

    -
  • -
  • -

    -New option uistatus-position to configure the position of the - status bar (top/bottom). -

    -
  • -
  • -

    -New --pdf <filename> argument for :print WHICH can be used to generate a - PDF without a dialog. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -:scroll-perc now prefers a count over the argument given to it, which means - gg can be used with a count. -

    -
  • -
  • -

    -Aliases can now use ;; to have an alias which executed multiple commands. -

    -
  • -
  • -

    -:edit-url now does nothing if the URL isn’t changed in the spawned editor. -

    -
  • -
  • -

    -:bookmark-add can now be passed a URL and title to add that as a bookmark - rather than the current page. -

    -
  • -
  • -

    -New taskadd userscript to add a taskwarrior task annotated with the - current URL. -

    -
  • -
  • -

    -:bookmark-del and :quickmark-del now delete the current page’s URL if none - is given. -

    -
  • -
-
-
-
-
-

Fixed

-
-
    -
  • -

    -Compatibility with PyQt 5.7 -

    -
  • -
  • -

    -Fixed some configuration values being lost when a config option gets removed - from qutebrowser’s code. -

    -
  • -
  • -

    -Fix crash when downloading with a full disk -

    -
  • -
  • -

    -Using :jump-mark (e.g. '') when the current URL is invalid doesn’t crash - anymore. -

    -
  • -
-
-
-
-

Removed

-
-
    -
  • -

    -The ability to display status messages from webpages, as well as the related - ui -> display-statusbar-messages setting. -

    -
  • -
  • -

    -The general -> wrap-search setting as searches now always wrap. - According to a quick straw poll and prior crash logs, almost nobody is using - wrap-search = false, and turning off wrapping is not possible with - QtWebEngine. -

    -
  • -
  • -

    -:edit-url now doesn’t accept a count anymore as its behavior was confusing - and it doesn’t make much sense to add a count. -

    -
  • -
-
-
-
-

v0.7.0

-
-
-

Added

-
    -
  • -

    -New :edit-url command to edit the URL in an external editor. -

    -
  • -
  • -

    -New network -> custom-headers setting to send custom headers with every request. -

    -
  • -
  • -

    -New {url:pretty} commandline replacement which gets replaced by the decoded URL. -

    -
  • -
  • -

    -New marks to remember a scroll position: -

    -
  • -
  • -

    -New :jump-mark command to jump to a mark, bound to ' -

    -
  • -
  • -

    -New :set-mark command to set a mark, bound to ```(backtick) -

    -
  • -
  • -

    -The ' mark gets set when moving away (hinting link with anchor, searching, etc.) so you can move back with '' -

    -
  • -
  • -

    -New --force-color argument to force colored logging even if stdout is not a - terminal -

    -
  • -
  • -

    -New :messages command to show error messages -

    -
  • -
  • -

    -New pop-up showing possible keybinding when the first key of a keychain is - pressed. This can be turned off using :set ui keyhint-blacklist *. -

    -
  • -
  • -

    -New hints -> auto-follow-timeout setting to ignore keypresses after - following a hint when filtering in number mode. -

    -
  • -
  • -

    -New :history-clear command to clear the entire history -

    -
  • -
  • -

    -New hints -> find-implementation to select which implementation (JS/Python) - should be used to find hints on a page. The javascript implementation is - better, but slower. -

    -
  • -
  • -

    -New inputs group for :hint to hint text input fields. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -qutebrowser got a new (slightly updated) logo -

    -
  • -
  • -

    -:tab-focus can now take a negative index to focus the nth tab counted from - the right. -

    -
  • -
  • -

    -:yank can now yank the pretty/decoded URL by adding --pretty -

    -
  • -
  • -

    -:navigate now clears the URL fragment -

    -
  • -
  • -

    -:completion-item-del (Ctrl-D) can now be used in :buffer completion to - close a tab -

    -
  • -
  • -

    -Various SSL ciphers are now disabled by default. With recent Qt/OpenSSL - versions those already all are disabled, but with older versions they might - not be. -

    -
  • -
  • -

    -Show favicons as window icon with tabs-are-windows set. -

    -
  • -
  • -

    -:bind <key> without a command now shows the existing binding -

    -
  • -
  • -

    -The optional colorlog dependency got removed, as qutebrowser now displays - colored logs without it. -

    -
  • -
  • -

    -URLs are now shown decoded when hovering. -

    -
  • -
  • -

    -Keybindings are now shown in the command completion -

    -
  • -
  • -

    -Improved behavior when pasting multiple lines -

    -
  • -
  • -

    -Rapid hints can now also be used for the normal hint target, which can be - useful with javascript click handlers or checkboxes which don’t actually open - a new page. -

    -
  • -
  • -

    -:zoom-in or :zoom-out (+/-) with a too large count now zooms to the - smallest/largest zoom instead of doing nothing. -

    -
  • -
  • -

    -The commandline now accepts partially typed commands if they’re unique. -

    -
  • -
  • -

    -Number hints are now kept filtered after following a hint in rapid mode. -

    -
  • -
  • -

    -Number hints are now renumbered after filtering -

    -
  • -
  • -

    -Number hints can now be filtered with multiple space-separated search terms -

    -
  • -
  • -

    -hints -> scatter is now ignored for number hints -

    -
  • -
  • -

    -Better history implementation which also stores titles. - As a consequence, URLs which redirect to another URL are now added to the - history too, marked with a -r suffix to the timestamp field. -

    -
  • -
-
-
-
-
-

Fixed

-
-
    -
  • -

    -Fixed using :hint links spawn with flags - you can now use things like the - -v argument for :spawn or pass flags to the spawned commands. -

    -
  • -
  • -

    -Various fixes for hinting corner-cases where following a link didn’t work or - the hint was drawn at the wrong position. -

    -
  • -
  • -

    -Fixed crash when downloading from a URL with SSL errors -

    -
  • -
  • -

    -Close file handles correctly when a download failed -

    -
  • -
  • -

    -Fixed crash when using ;Y (:hint links yank-primary) on a system without - primary selection -

    -
  • -
  • -

    -Don’t display quit confirmation with finished downloads -

    -
  • -
  • -

    -Fixed updating the tab index in the statusbar when opening a background tab -

    -
  • -
  • -

    -Fixed a crash when entering `:-- ` in the commandline -

    -
  • -
  • -

    -Fixed :debug-console with PyQt 5.6 -

    -
  • -
  • -

    -Fixed qutebrowser not starting when sys.stderr is None -

    -
  • -
  • -

    -Fixed crash when cancelling a download which belongs to an MHTML download -

    -
  • -
  • -

    -Fixed rebinding of keybindings being case-sensitive -

    -
  • -
  • -

    -Fix for tab indicators getting lost when moving tabs -

    -
  • -
  • -

    -Fixed handling of backspace in number hinting mode -

    -
  • -
  • -

    -Fixed FileNotFoundError when starting in some cases on old Qt versions -

    -
  • -
  • -

    -Fixed sharing of cookies between tabs when private-browsing is enabled -

    -
  • -
  • -

    -Toggling values with :set now uses lower-case values -

    -
  • -
  • -

    -Hints now work with (non-standard) links with spaces around the URL -

    -
  • -
  • -

    -Strip off trailing spaces for history entries with no title -

    -
  • -
-
-
-
-

v0.6.2

-
-
-

Fixed

-
    -
  • -

    -Fixed crash when using :tab-{prev,next,focus} right after closing the last - tab with last-close set to close. -

    -
  • -
  • -

    -Fixed crash when doing :undo in a new instance with tabs -> last-close set - to default-page. -

    -
  • -
  • -

    -Fixed crash when starting with --cachedir="" -

    -
  • -
  • -

    -Fixed crash in some circumstances when using dictionary hints -

    -
  • -
  • -

    -Fixed various crashes related to PyQt 5.6 -

    -
  • -
-
-
-
-
-

v0.6.1

-
-
-

Fixed

-
    -
  • -

    -Fixed broken cheatsheet image which was missing from package -

    -
  • -
  • -

    -Fixed occasional crash when switching/disconnecting monitors -

    -
  • -
  • -

    -Fixed crash when downloading non-ascii files with a broken locale (LC_ALL=C) -

    -
  • -
  • -

    -Added workaround for a Qt/PyQt bug which is too weird to describe here -

    -
  • -
-
-
-
-
-

v0.6.0

-
-
-

Added

-
    -
  • -

    -New :buffer command to easily switch tabs by name. This is not bound to a - key by default for existing users due to a conflict with the gt/gT - bindings (which are now removed from the default bindings). - You can bind it by hand by running :bind -f gt set-cmd-text -s :buffer. -

    -
  • -
  • -

    -New --quiet argument for the :debug-pyeval command to not open a tab with - the results. Note :debug-pyeval is still only intended for debugging. -

    -
  • -
  • -

    -The completion now matches each entered word separately. -

    -
  • -
  • -

    -A new command :paste-primary got added to paste the primary selection, and - <Shift-Insert> got added as a binding so it pastes primary rather than - clipboard. -

    -
  • -
  • -

    -New mode word for hints -> mode which uses a dictionary and link-texts - for hints instead of single characters. -

    -
  • -
  • -

    -New --all argument for :download-cancel to cancel all running downloads. -

    -
  • -
  • -

    -New password_fill userscript to fill passwords using the pass executable. -

    -
  • -
  • -

    -New current hinting mode which forces opening hints in the current tab - (even with target="_blank") -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Pasting multiple lines via :paste now opens each line in a new tab. -

    -
  • -
  • -

    -:navigate increment/decrement now preserves leading zeroes in URLs. -

    -
  • -
  • -

    -general -> editor can now also handle {} inside another argument (e.g. to open vim via termite) -

    -
  • -
  • -

    -Improved performance when scrolling with many tabs open. -

    -
  • -
  • -

    -Shift-Insert now also pastes primary selection for prompts. -

    -
  • -
  • -

    -:download-remove --all got un-deprecated to provide symmetry with - :download-cancel --all. It does the same as :download-clear. -

    -
  • -
  • -

    -Improved detection of URLs/search terms when pasting multiple lines. -

    -
  • -
  • -

    -Don’t remove qutebrowser-editor-* temporary file if editor subprocess crashed -

    -
  • -
  • -

    -Userscripts are also searched in /usr/share/qutebrowser/userscripts. -

    -
  • -
  • -

    -Blocked hosts are now also read from a blocked-hosts file in the config dir - (e.g. ~/.config/qutebrowser/blocked-hosts). -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Fixed starting with -c "". -

    -
  • -
  • -

    -Fixed crash when a tab is closed twice via javascript (e.g. Dropbox - authentication dialogs) -

    -
  • -
  • -

    -Fixed crash when a notification/geolocation prompt is answered after closing - the tab it belongs to. -

    -
  • -
  • -

    -Fixed crash when downloading a file without any path information (e.g a - magnet link). -

    -
  • -
  • -

    -Fixed crashes when opening an empty URL (e.g. via pasting). -

    -
  • -
  • -

    -Fixed validation of duplicate values in hints -> chars. -

    -
  • -
  • -

    -Fixed crash when PDF.js was partially installed. -

    -
  • -
  • -

    -Fixed crash when XDG_DOWNLOAD_DIR was not an absolute path. -

    -
  • -
  • -

    -Fixed very long filenames when downloading data://-URLs. -

    -
  • -
  • -

    -Fixed ugly UI fonts on Windows when Liberation Mono is installed -

    -
  • -
  • -

    -Fixed crash when unbinding key from a section which doesn’t exist in the config -

    -
  • -
  • -

    -Fixed report window after a segfault -

    -
  • -
  • -

    -Fixed some directory browser issues on Windows -

    -
  • -
  • -

    -Fixed crash when closing a window with a finished download and delayed - remove-finished-downloads setting. -

    -
  • -
  • -

    -Fixed crash when hitting <Tab> then <Ctrl-C> on pages without keyboard - focus. -

    -
  • -
  • -

    -Fixed "Frame load interrupted by policy change" error showing up when - downloading files with Qt 5.6. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -The gt/gT bindings (luakit-like alternatives to J/K) were removed - (except for existing configs) to make room for the gt binding to show - buffers. -

    -
  • -
-
-
-
-
-

v0.5.1

-
-
-

Fixed

-
    -
  • -

    -Fixed completion for various config values when using :set. -

    -
  • -
  • -

    -Fixed config validation for various config values. -

    -
  • -
  • -

    -Prevented an error being logged when a website with HTTP authentication was - opened on Windows. -

    -
  • -
-
-
-
-
-

v0.5.0

-
-
-

Added

-
    -
  • -

    -Ability to preview PDFs using pdf.js in the browser if it’s installed. This - is disabled by default and can be enabled using the - content -> pdfjs-enabled setting. -

    -
  • -
  • -

    -New setting ui -> hide-wayland-decoration to hide the window decoration - when using wayland. -

    -
  • -
  • -

    -New userscripts in misc/userscripts: -

    -
  • -
  • -

    -open_download to easily open a file in your downloads folder. -

    -
  • -
  • -

    -view_in_mpv to open a video in mpv and remove it from the page. -

    -
  • -
  • -

    -qutedmenu and dmenu_qutebrowser to select URLs via dmenu -

    -
  • -
  • -

    -New setting content -> host-blocking-whitelist to whitelist certain domains - from the adblocker. -

    -
  • -
  • -

    -{scroll_pos} can now be used in ui -> window-title-format and - tabs -> title-format. -

    -
  • -
  • -

    -New setting general -> url-incdec-segments to configure which segments of - the URL should be affected by :navigate increment/decrement. -

    -
  • -
  • -

    -New --target argument to specify how URLs should be opened in an existing - instance. -

    -
  • -
  • -

    -New setting statusbar.url.fg.success.https to set the foreground color for - the URL when a page was loaded via HTTPS. -

    -
  • -
  • -

    -The scrollbar in the completion is now styled, and the following new options - got added: -

    -
      -
    • -

      -completion -> scrollbar-width -

      -
    • -
    • -

      -completion -> scrollbar-padding -

      -
    • -
    • -

      -colors -> completion.scrollbar.fg -

      -
    • -
    • -

      -colors -> completion.scrollbar.bg -

      -
    • -
    -
  • -
  • -

    -New value none for options taking a color system so they don’t display a - gradient: -

    -
      -
    • -

      -colors -> tabs.indicator.system -

      -
    • -
    • -

      -colors -> downloads.fg.system -

      -
    • -
    • -

      -colors -> downloads.bg.system -

      -
    • -
    -
  • -
  • -

    -New command :download-retry to retry a failed download. -

    -
  • -
  • -

    -New command :download-clear which replaces :download-remove --all. -

    -
  • -
  • -

    -:set-cmd-text has a new --append argument to append to the current - statusbar text. -

    -
  • -
  • -

    -qutebrowser now uses ~/.netrc if available to authenticate via HTTP. -

    -
  • -
  • -

    -New :fake-key command to send a fake keypress to a website or to - qutebrowser. -

    -
  • -
  • -

    -New --mhtml argument for :download to download a page including all - resources as MHTML file. -

    -
  • -
  • -

    -New option tabs -> title-alignment to change the alignment of tab titles. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -The colors -> tabs.bg/fg.selected option got split into - tabs.bg/fg.selected.odd/even. -

    -
  • -
  • -

    -:spawn --userscript and :hint with the userscript target now look up - relative paths in ~/.local/share/qutebrowser/userscripts or - $XDG_DATA_DIR. Using a binary in $PATH won’t work anymore with - --userscript. -

    -
  • -
  • -

    -New design for error pages -

    -
  • -
  • -

    -Link filtering for hints now checks if the text is contained anywhere in - the link, and matches case-insensitively. -

    -
  • -
  • -

    -The ui -> remove-finished-downloads option got changed to an integer and - now takes a time (in milliseconds) to keep the download around after it’s - finished. When set to -1, downloads are never removed. -

    -
  • -
  • -

    -The :follow-hint command now optionally takes the keystring of a hint to - follow. -

    -
  • -
  • -

    -:scroll-px now doesn’t take floats anymore, which made little sense. -

    -
  • -
  • -

    -Updated the user agent list for the :set network user-agent completion. -

    -
  • -
  • -

    -Starting with --debug doesn’t log VDEBUG messages anymore (add - --loglevel VDEBUG to get them). -

    -
  • -
  • -

    -:debug-console now hides the console if it’s already shown. -

    -
  • -
  • -

    -:yank-selected now doesn’t log the selected text anymore. -

    -
  • -
  • -

    -general -> log-javascript-console got changed from a boolean to an option - taking a loglevel (none, info, debug). -

    -
  • -
  • -

    -:tab-move +/- now wraps around if tabs -> wrap is true. -

    -
  • -
  • -

    -When a subprocess (like launched by :spawn) fails, its stdout/stderr is now - logged to the console. -

    -
  • -
  • -

    -A search engine name can now contain any non-space character, like dashes. -

    -
  • -
-
-
-

Deprecated

-
    -
  • -

    -:download-remove --all is now deprecated and :download-clear should be - used instead. -

    -
  • -
  • -

    -:download <url> <destination> is now deprecated and - :download --dest <destination> <url> should be used instead. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -:scroll with two pixel-arguments (deprecated in v0.3.0) -

    -
  • -
  • -

    -The :run-userscript command (deprecated in v0.2.0) -

    -
  • -
  • -

    -The rapid and rapid-win targets for :hint (deprecated in v0.2.0) -

    -
  • -
  • -

    -The :cancel-download command (deprecated in v0.2.0) -

    -
  • -
  • -

    -The :download-page command (deprecated in v0.2.0) -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Fixed retrying of downloads which were started in a now closed tab. -

    -
  • -
  • -

    -Fixed displaying of web history if web-history-max-items is set to -1. -

    -
  • -
  • -

    -Cloned tabs now don’t display favicons anymore if show-favicons is False. -

    -
  • -
  • -

    -Fixed a crash when clicking a bookmark name and pressing Ctrl-D. -

    -
  • -
  • -

    -Fixed a crash when a website presents a very small favicon. -

    -
  • -
  • -

    -Fixed prompting for download directory when - storage -> prompt-download-directory was unset. -

    -
  • -
  • -

    -Fixed crash when using :follow-hint outside of hint mode. -

    -
  • -
  • -

    -Fixed crash when using :set foo bar? with invalid section/option. -

    -
  • -
  • -

    -Fixed scrolling to the very left/right with :scroll-perc. -

    -
  • -
  • -

    -Using an external editor should now work correctly with some funny chars - (U+2028/U+2029/BOM). -

    -
  • -
  • -

    -Movements in caret mode now should work correctly on macOS and Windows. -

    -
  • -
  • -

    -Fixed upgrade from earlier config versions. -

    -
  • -
  • -

    -Fixed crash when killing a running userscript. -

    -
  • -
  • -

    -Fixed characters being passed through when shifted with - forward-unbound-keys set to auto. -

    -
  • -
  • -

    -Fixed restarting after a crash is reported. -

    -
  • -
  • -

    -Removed .pyc files accidentally contained in source releases. -

    -
  • -
-
-
-
-
-

v0.4.1

-
-
-

Fixed

-
    -
  • -

    -Adjusted AppArmor config for the IPC changes in v0.4.0. -

    -
  • -
  • -

    -Fixed atime update frequency for IPC file. -

    -
  • -
  • -

    -Worked around a Qt issue where middle-clicking caused scrolling with a - touchpad to restart at the beginning of the page. -

    -
  • -
  • -

    -The completion -> web-history-max-items setting is now also respected for - items added after starting qutebrowser. -

    -
  • -
  • -

    -Search terms are now shared between different tabs again -

    -
  • -
  • -

    -Tests (a reduced subset of them) now run correctly again when DISPLAY is not - set. -

    -
  • -
  • -

    -Fixed an issue causing qutebrowser to crash with Python 3.5 as soon as an ad - was blocked. -

    -
  • -
  • -

    -Fixed an issue causing qutebrowser to not start with more recent Python 3.4 - versions (e.g. on Debian experimental). -

    -
  • -
  • -

    -Fixed various PendingDeprecationWarnings shown with Python 3.5. -

    -
  • -
-
-
-
-
-

v0.4.0

-
-
-

Added

-
    -
  • -

    -New bookmark functionality (similar to quickmarks without a name). -

    -
      -
    • -

      -New command :bookmark-add to bookmark the current page (bound to M). -

      -
    • -
    • -

      -New command :bookmark-load to load a bookmark (bound to gb/gB/wB). -

      -
    • -
    -
  • -
  • -

    -New (hidden) command :completion-item-del (bound to <Ctrl-D>) to delete - the current item in the completion (for quickmarks/bookmarks). -

    -
  • -
  • -

    -New settings tabs -> padding and tabs -> indicator-tabbing to control the - size/padding of the tabbar. -

    -
  • -
  • -

    -New setting ui -> statusbar-padding to control the size/padding of the - status bar. -

    -
  • -
  • -

    -New setting network -> referer-header to configure when the referer should - be sent (by default it’s only sent while on the same domain). -

    -
  • -
  • -

    -New setting tabs -> show which supersedes the old tabs -> hide-* options - and has an additional switching option which shows tab while switching - them. There’s also a new show-switching option to configure the timeout. -

    -
  • -
  • -

    -New setting storage -> remember-download-directory to remember the last - used download directory. -

    -
  • -
  • -

    -New setting storage -> prompt-download-directory to download all downloads - without asking. -

    -
  • -
  • -

    -Rapid hinting is now also possible for downloads. -

    -
  • -
  • -

    -Directory browsing via file:// is now supported. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Some developer scripts got moved to scripts/dev/ -

    -
  • -
  • -

    -When downloading to a FIFO or special file, a confirmation is displayed as - this might cause qutebrowser to hang. -

    -
  • -
  • -

    -The :yank-selected command now works in all modes instead of just caret - mode and is not hidden anymore. -

    -
  • -
  • -

    -minimal_webkit_testbrowser.py now has a --webengine switch to test - QtWebEngine if it’s installed. -

    -
  • -
  • -

    -The column width percentages for the completion view now depend on the - completion model. -

    -
  • -
  • -

    -The values for tabs -> position and ui -> downloads-position got changed - from north/south/west/`east to top/bottom/left/right. Existing - configs should be adjusted automatically. -

    -
  • -
  • -

    -:tab-focus/gt now behaves like :tab-next if no count/index is given. -

    -
  • -
  • -

    -The completion widget doesn’t show a border anymore. -

    -
  • -
  • -

    -The tabbar doesn’t display ugly arrows anymore if there isn’t enough space - for all tabs. -

    -
  • -
  • -

    -Some insignificant Qt warnings which were printed on macOS are now hidden. -

    -
  • -
  • -

    -Better support for Qt 5.5 and Python 3.5. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Fixed a bug where cookies were saved despite qutebrowser being started in - private browsing mode. -

    -
  • -
  • -

    -The local socket used for inter-process communication (opening new instances) - is now ensured to only be accessible by the user on all operating systems. -

    -
  • -
  • -

    -Various corner cases for inter-process communication issues got fixed. -

    -
  • -
  • -

    -link_pyqt.py now should work better on untested distributions. -

    -
  • -
  • -

    -Fixed various corner-cases with crashes when reading invalid config values - and the history file. -

    -
  • -
  • -

    -Fixed various corner-cases when setting text via an external editor. -

    -
  • -
  • -

    -Fixed potential crash when hinting a text field. -

    -
  • -
  • -

    -Fixed entering of insert mode when certain disabled text fields were clicked. -

    -
  • -
  • -

    -Fixed a crash when using :set with -p and ! (invert value) -

    -
  • -
  • -

    -Downloads with unknown size are now handled correctly. -

    -
  • -
  • -

    -:navigate increment/decrement (<Ctrl-A>/<Ctrl-X>) now handles some - corner-cases better. -

    -
  • -
  • -

    -Fixed a bug where the completion got affected by another window’s completion - if it was open in both windows. -

    -
  • -
  • -

    -Fixed a performance issue with large histories when opening previously - unvisited websites. -

    -
  • -
  • -

    -The progress bar now doesn’t cause the statusbar to change it’s height - anymore. -

    -
  • -
  • -

    -~ is now always expanded when spawning a script. -

    -
  • -
  • -

    -Fixed various corner cases when opening links in an existing instance. -

    -
  • -
  • -

    -Fixed a race-condition causing an exception when starting qutebrowser. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -The tabs -> indicator-space setting got removed as the new padding settings - should be used instead. -

    -
  • -
  • -

    -The tabs -> hide-always and tabs -> hide-auto settings got merged into - the new tabs -> show setting. -

    -
  • -
-
-
-
-
-

v0.3.0

-
-
-

Added

-
    -
  • -

    -New commands :message-info, :message-error and :message-warning to show messages in the statusbar, e.g. from a userscript. -

    -
  • -
  • -

    -New command :scroll-px which replaces :scroll for pixel-exact scrolling. -

    -
  • -
  • -

    -New command :jseval to run a javascript snippet on the current page. -

    -
  • -
  • -

    -New (hidden) command :follow-selected (bound to Enter/Ctrl-Enter by default) to follow the link which is currently selected (e.g. after searching via /). -

    -
  • -
  • -

    -New (hidden) command :clear-keychain to clear a partially entered keychain (bound to <Escape> by default, in addition to clearing search). -

    -
  • -
  • -

    -New setting ui -> smooth-scrolling. -

    -
  • -
  • -

    -New setting content -> webgl to enable/disable WebGL. -

    -
  • -
  • -

    -New setting content -> css-regions to enable/disable support for CSS Regions. -

    -
  • -
  • -

    -New setting content -> hyperlink-auditing to enable/disable support for hyperlink auditing. -

    -
  • -
  • -

    -New setting tabs -> mousewheel-tab-switching to control mousewheel behavior on the tab bar. -

    -
  • -
  • -

    -New arguments --datadir and --cachedir to set the data/cache location. -

    -
  • -
  • -

    -New arguments --basedir and --temp-basedir (intended for debugging) to set a different base directory for all data, which allows multiple invocations. -

    -
  • -
  • -

    -New argument --no-err-windows to suppress all error windows. -

    -
  • -
  • -

    -New arguments --top-navigate and --bottom-navigate (-t/-b) for :scroll-page to specify a navigation action (e.g. automatically go to the next page when arriving at the bottom). -

    -
  • -
  • -

    -New flag -d/--detach for :spawn to detach the spawned process so it’s not closed when qutebrowser is. -

    -
  • -
  • -

    -New flag -v/--verbose for :spawn to print information when the process started/exited successfully. -

    -
  • -
  • -

    -Many new color settings (foreground setting for every background setting). -

    -
  • -
  • -

    -New setting ui -> modal-js-dialog to use the standard modal dialogs for javascript questions instead of using the statusbar. -

    -
  • -
  • -

    -New setting colors -> webpage.bg to set the background color to use for websites which don’t set one. -

    -
  • -
  • -

    -New setting completion -> auto-open to only open the completion when tab is pressed (if set to false). -

    -
  • -
  • -

    -New visual/caret mode (bound to v) to select text by keyboard. -

    -
  • -
  • -

    -There are now some example userscripts in misc/userscripts. -

    -
  • -
  • -

    -Support for Qt 5.5 and tox 2.0 -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Breaking change for userscripts: QUTE_HTML and QUTE_TEXT for userscripts now don’t store the contents directly, and instead contain a filename. -

    -
  • -
  • -

    -The content -> geolocation and notifications settings now support a true value to always allow those. However, this is not recommended. -

    -
  • -
  • -

    -New bindings <Ctrl-R> (rapid), <Ctrl-F> (foreground) and <Ctrl-B> (background) to switch hint modes while hinting. -

    -
  • -
  • -

    -<Ctrl-M> and numpad-enter are now bound by default for bindings where <Return> was bound. -

    -
  • -
  • -

    -:hint tab and F now respect the background-tabs setting. To enforce a foreground tab (what F did before), use :hint tab-fg or ;f. -

    -
  • -
  • -

    -:scroll now takes a direction argument (up/down/left/right/top/bottom/page-up/page-down) instead of two pixel arguments (dx/dy). The old form still works but is deprecated. -

    -
  • -
  • -

    -The ui -> user-stylesheet setting now also takes file paths relative to the config directory. -

    -
  • -
  • -

    -The content -> cookies-accept setting now has new no-3rdparty (default) and no-unknown-3rdparty values to block third-party cookies. The default value got renamed to all. -

    -
  • -
  • -

    -Improved startup time by reading the webpage history while qutebrowser is open. -

    -
  • -
  • -

    -The way :spawn splits its commandline has been changed slightly to allow commands with flags. -

    -
  • -
  • -

    -The default for the new-instance-open-target setting has been changed to tab. -

    -
  • -
  • -

    -Sessions now store zoom/scroll-position separately for each entry. -

    -
  • -
-
-
-

Deprecated

-
    -
  • -

    -:scroll with two pixel-arguments is now deprecated - :scroll-px should be used instead. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -The --no-crash-dialog argument which was intended for debugging only was removed as it’s replaced by --no-err-windows which suppresses all error windows. -

    -
  • -
  • -

    -Support for Qt installations without SSL support was dropped. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Scrolling should now work more reliably on some pages where arrow keys worked but hjkl didn’t. -

    -
  • -
  • -

    -Small improvements when checking if an input is a URL or not. -

    -
  • -
  • -

    -Fixed wrong cursor position when completing the first item in the completion. -

    -
  • -
  • -

    -

    -
  • -
  • -

    -Fixed a bug where the same title was shown for all tabs on some systems. -

    -
  • -
  • -

    -Don’t install the scripts package when installing qutebrowser. -

    -
  • -
  • -

    -Fixed searching for terms starting with a hyphen (e.g. /-foo) -

    -
  • -
  • -

    -Proxy authentication credentials are now remembered between different tabs. -

    -
  • -
  • -

    -Fixed updating of the tab title on pages without title. -

    -
  • -
  • -

    -Fixed AssertionError when closing many windows quickly. -

    -
  • -
  • -

    -Various fixes for deprecated key bindings and auto-migrations. -

    -
  • -
  • -

    -Workaround for qutebrowser not starting when there are NUL-bytes in the history (because of a currently unknown bug). -

    -
  • -
  • -

    -Fixed handling of keybindings containing Ctrl/Meta on macOS. -

    -
  • -
  • -

    -Fixed crash when downloading a URL without filename (e.g. magnet links) via "Save as…". -

    -
  • -
  • -

    -Fixed exception when starting qutebrowser with :set as argument. -

    -
  • -
  • -

    -Fixed horrible completion performance when the shrink option was set. -

    -
  • -
  • -

    -Sessions now store zoom/scroll-position correctly. -

    -
  • -
-
-
-
-
-

v0.2.1

-
-
-

Fixed

-
    -
  • -

    -Added missing manpage (doc/qutebrowser.1.asciidoc) to archive. -

    -
  • -
-
-
-
-
-

v0.2.0

-
-
-

Added

-
    -
  • -

    -Session support -

    -
      -
    • -

      -new command :session-load to load a session. -

      -
    • -
    • -

      -new command :session-save to save a session. -

      -
    • -
    • -

      -new command :session-delete to delete a session. -

      -
    • -
    • -

      -new setting general -> save-session to always save the session on quit. -

      -
    • -
    • -

      -new setting general -> session-default-name to configure the session name to use if none is given. -

      -
    • -
    • -

      -new argument -r/--restore to specify a session to load. -

      -
    • -
    • -

      -new argument -R/--override-restore to not load a session even if one was saved. -

      -
    • -
    -
  • -
  • -

    -New commands to manage downloads: -

    -
      -
    • -

      -:download to download a URL or the current page. -

      -
    • -
    • -

      -:download-cancel to cancel a download. -

      -
    • -
    • -

      -:download-delete to delete a download from disk. -

      -
    • -
    • -

      -:download-open to open a finished download. -

      -
    • -
    • -

      -:download-remove to remove a download from the list. :download-remove --all or the new cd keybinding can be used to clear all finished downloads. -

      -
    • -
    -
  • -
  • -

    -History completion -

    -
      -
    • -

      -New option completion -> timestamp-format to set the format used to display the history timestamps. -

      -
    • -
    • -

      -New option completion -> web-history-max-items to configure how many history items to show in the completion. -

      -
    • -
    • -

      -The option completion -> history-length for the command history got renamed to cmd-history-max-items. -

      -
    • -
    -
  • -
  • -

    -Better save logic for the config/state: -

    -
      -
    • -

      -Only save files if modified (e.g. don’t overwrite the config if it was edited outside of qutebrowser and nothing was changed in qutebrowser). -

      -
    • -
    • -

      -Save things (cookies, config, quickmarks, …) periodically all 15 seconds (time can be changed with the general -> auto-save-interval option). -

      -
    • -
    -
  • -
  • -

    -Opera-like mouse rocker gestures -

    -
      -
    • -

      -New option input -> rocker-gestures. When turned on, the history can be navigated back/forward by holding a mouse button and pressing the other one. -

      -
    • -
    -
  • -
  • -

    -New -f option for :reload to reload and bypass the cache. -

    -
  • -
  • -

    -Pass more information (QUTE_MODE, QUTE_SELECTED_TEXT, QUTE_SELECTED_HTML, QUTE_USER_AGENT, QUTE_HTML, QUTE_TEXT) to userscripts. -

    -
  • -
  • -

    -New --userscript option to :spawn (which deprecates :run-userscript). -

    -
  • -
  • -

    -Ability to toggle a value to :set by appending a ! to the value. -

    -
  • -
  • -

    -New options to hide the tab-/statusbar: -

    -
      -
    • -

      -tabs -> hide-always for the tabbar -

      -
    • -
    • -

      -ui -> hide-statusbar for the statusbar -

      -
    • -
    -
  • -
  • -

    -New options to configure how the tab/window titles should look: -

    -
      -
    • -

      -tabs -> title-format for the tabbar -

      -
    • -
    • -

      -ui -> window-title-format for the window title -

      -
    • -
    -
  • -
  • -

    -HTML5 Geolocation/Notification support: -

    -
      -
    • -

      -New option content -> geolocation to permanently turn the geolocation off. -

      -
    • -
    • -

      -New option content -> notifications to permanently turn notifications off. -

      -
    • -
    -
  • -
  • -

    -New options to disable javascript prompts/alerts: -

    -
      -
    • -

      -content -> ignore-javascript-prompt to turn off prompts. -

      -
    • -
    • -

      -content -> ignore-javascript-alerts to turn off alerts. -

      -
    • -
    -
  • -
  • -

    -Two new options to customize the behavior of hints: -

    -
      -
    • -

      -hints -> min-chars to set minimum number of chars in hints. -

      -
    • -
    • -

      -hints -> scatter which when turned off distributes the hints sequentially (like dwb) instead of scattering their positions (like Vimium). -

      -
    • -
    -
  • -
  • -

    -Make it possible to use :open -[twb] without url. -

    -
      -
    • -

      -New option general -> default-page to set the page to be opened when doing that. -

      -
    • -
    -
  • -
  • -

    -New input -> partial-timeout option to clear partial keystrings. -

    -
  • -
  • -

    -New option completion -> download-path-suggestion to configure what to show in the completion for downloads. -

    -
  • -
  • -

    -Queue messages shown in unfocused windows and show them when the window is focused. -

    -
      -
    • -

      -New option ui -> message-unfocused to disable this behavior. -

      -
    • -
    -
  • -
  • -

    -New --relaxed-config argument which ignores unknown options. -

    -
  • -
  • -

    -New :tab-detach command to open the current tab in a new window. -

    -
  • -
  • -

    -Zooming via Ctrl-Mousewheel. -

    -
      -
    • -

      -New option input -> mouse-zoom-divider to control how much the page is zoomed when rotating the wheel. -

      -
    • -
    -
  • -
  • -

    -New option (content -> host-blocking-enabled) to enable/disable host blocking. -

    -
  • -
  • -

    -New values tab-bg/tab-bg-silent for new-instance-open-target to open a background tab. -

    -
  • -
  • -

    -New ui -> downloads-position setting to move the downloads to the bottom. -

    -
  • -
  • -

    -New ui -> hide-mouse-cursor option to hide the mouse cursor inside qutebrowser. -

    -
  • -
  • -

    -New argument -s for qutebrowser to set a temporary config option. -

    -
  • -
  • -

    -New argument -p for the :set command to print the new value. -

    -
  • -
  • -

    -New --rapid option to :hint. The rapid/rapid-win targets are now deprecated, and --rapid can be used as well with the targets run/hover/userscript/spawn as well. -

    -
  • -
  • -

    -New -f argument to :bind to overwrite the old binding. -

    -
  • -
  • -

    -New --qt-name argument to qutebrowser which is passed to Qt to set WM_CLASS. -

    -
  • -
  • -

    -Alternating row colors in completion. This adds a new colors -> completion.alternate-bg option. -

    -
  • -
-
-
-

Changed

-
    -
  • -

    -Ignore quotes with maxsplit-commands (:open, :quickmark-load, etc.) and don’t quote arguments for those commands in the completions. This also means some commands needed adjustments: -

    -
      -
    • -

      -Clear search when :search without arguments is given. (:search "" will now search for the literal text "") -

      -
    • -
    • -

      -Add -s/--space argument to :set-cmd-text (as :set-cmd-text "foo " will now set the literal text "foo ") -

      -
    • -
    -
  • -
  • -

    -Ignore ;; for splitting with some commands like :bind. -

    -
  • -
  • -

    -Add unbound (new) default keybindings to config. This also adds a new <unbound> special command. -

    -
      -
    • -

      -To unbind a command keybinding without binding it to a new key, you now have to bind it to <unbound> or it’ll be readded automatically. -

      -
    • -
    -
  • -
  • -

    -If an SSL error is raised multiple times with the same error/certificate/host/scheme/port, the user is only asked once. -

    -
  • -
  • -

    -Jump to last instead of first item when pressing Shift-Tab the first time in the completion. -

    -
  • -
  • -

    -Add a fullscreen keybinding. -

    -
  • -
  • -

    -Add a :search command in addition to /foo so it’s more visible and can be used from scripts. -

    -
  • -
  • -

    -Various improvements to documentation, logging, and the crash reporter. -

    -
  • -
  • -

    -Expand ~ to the users home directory with :run-userscript. -

    -
  • -
  • -

    -Improve the userscript runner on Linux/macOS by using QSocketNotifier. -

    -
  • -
  • -

    -Add luakit-like gt/gT keybindings to cycle through tabs. -

    -
  • -
  • -

    -Show default value for config values in the completion. -

    -
  • -
  • -

    -Clone tab icon, tab text and zoom level when cloning tabs. -

    -
  • -
  • -

    -Don’t open relative file paths with :open, only with commandline arguments. -

    -
  • -
  • -

    -Expand environment variables in config settings which take a file path. -

    -
  • -
  • -

    -Add a list of common user agents to the user agent setting completion. -

    -
  • -
  • -

    -Move cursor to end of textboxes when hinting. -

    -
  • -
  • -

    -Don’t start searches on invalid URLs for quickmarks/startpage. -

    -
  • -
  • -

    -Various performance improvements for the completion. -

    -
  • -
  • -

    -Always open URLs given as argument in the foreground. -

    -
  • -
  • -

    -Improve various error messages. -

    -
  • -
  • -

    -Add startpage/default-page values to tabs -> last-close. -

    -
  • -
  • -

    -Various improvements to :restart - it should be more robust now and uses sessions so all state (focused tab, scroll position, etc.) gets remembered. -

    -
  • -
  • -

    -Add tab index display to the statusbar. -

    -
  • -
  • -

    -Keep progress bar height fixed when the statusbar is multiline. -

    -
  • -
  • -

    -Many improvements to tests and related infrastructure: -

    -
      -
    • -

      -init_venv.py and run_checks.py have been replaced by tox. Install tox and run tox -e mkvenv instead. -

      -
    • -
    • -

      -The tests now use pytest -

      -
    • -
    • -

      -Many new tests added -

      -
    • -
    • -

      -Mac Mini buildbot to run the tests on macOS. -

      -
    • -
    • -

      -Coverage recording via coverage.py. -

      -
    • -
    • -

      -New --pdb-postmortem argument to drop into the pdb debugger on exceptions. -

      -
    • -
    • -

      -Use hunter for line tracing instead of a selfmade solution. -

      -
    • -
    -
  • -
-
-
-

Deprecated

-
    -
  • -

    -The :run-userscript command - use :spawn --userscript instead. -

    -
  • -
  • -

    -The rapid and rapid-win targets for :hint - use the --rapid argument to :hint instead. -

    -
  • -
  • -

    -The :cancel-download command - use :download-cancel instead. -

    -
  • -
  • -

    -The :download-page command - use :download instead. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -init_venv.py and run_checks.py have been replaced by tox. Install tox and run tox -e mkvenv instead.. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Fix for cache never being used. -

    -
  • -
  • -

    -Fixed handling of key release events (e.g. for javascript) when holding a key and pressing a second one. -

    -
  • -
  • -

    -Fix handling of commands using ;; at various places (key config, command parser, :bind) -

    -
  • -
  • -

    -Fix splitting of flags with arguments (:bind -m/--mode). -

    -
  • -
  • -

    -Fix bindings of special keys with lower-case modifiers (e.g. <ctrl-x>) -

    -
  • -
  • -

    -Fix for weird search highlights when changing tabs while search is active. -

    -
  • -
  • -

    -Fix starting with -c "". -

    -
  • -
  • -

    -Fix removing of partial downloads when a download is cancelled via context menu. -

    -
  • -
  • -

    -Fix retrying of downloads which were started in a now closed tab. -

    -
  • -
  • -

    -Highlight text case-insensitively in completion. -

    -
  • -
  • -

    -Scroll completion to top when showing it. -

    -
  • -
  • -

    -Handle unencodable file paths in config types correctly. -

    -
  • -
  • -

    -Fix for crash when executing a delayed command (because of a shadowed keybinding) and then unfocusing the window. -

    -
  • -
  • -

    -Fix for crash when hinting on a page which doesn’t have a URL yet. -

    -
  • -
  • -

    -Fix exception when using :set-cmd-text with an empty argument. -

    -
  • -
  • -

    -Add a timeout to pastebin HTTP replies. -

    -
  • -
  • -

    -Various other fixes for small/rare bugs. -

    -
  • -
-
-
-
-
-

v0.1.4

-
-
-

Changed

-
    -
  • -

    -The Windows builds come with Qt 5.4.1 which has some related bugfixes. -

    -
  • -
  • -

    -Improvements to CPU usage when idle. -

    -
  • -
  • -

    -Ensure there’s no size for font-family settings. -

    -
  • -
  • -

    -Handle URLs with double-colon as search strings. -

    -
  • -
  • -

    -Adjust prompt size hint based on content. -

    -
  • -
  • -

    -Refactor websettings and save/restore defaults. -

    -
  • -
  • -

    -Various small improvements to logging. -

    -
  • -
  • -

    -Various improvements for hinting. -

    -
  • -
  • -

    -Improve parsing of faulthandler logs. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -Remove default search engines. -

    -
  • -
  • -

    -Remove debug console completing completely. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Ignore RuntimeError in mouserelease_insertmode. -

    -
  • -
  • -

    -Hide Qt warning when aborting download reply. -

    -
  • -
  • -

    -Hide "Error while shutting down tabs" message. -

    -
  • -
  • -

    -Clear open target in acceptNavigationRequest. -

    -
  • -
  • -

    -Fix handling of signals with deleted tabs. -

    -
  • -
  • -

    -Restore sys.std* in utils.fake_io on exceptions. -

    -
  • -
  • -

    -Allow font names with integers in them. -

    -
  • -
  • -

    -Fix QIODevice warnings when closing tabs. -

    -
  • -
  • -

    -Set the QSettings path to a config-subdirectory. -

    -
  • -
  • -

    -Add workaround for adblock-message without window. -

    -
  • -
  • -

    -Fix searching for terms starting with a slash. -

    -
  • -
  • -

    -Ignore tab key presses if they’d switch focus. -

    -
  • -
-
-
-

Security

-
    -
  • -

    -Stop the icon database from being created when private-browsing is set to true. -

    -
  • -
  • -

    -Disable insecure SSL ciphers. -

    -
  • -
-
-
-
-
-

v0.1.3

-
-
-

Changed

-
    -
  • -

    -Various small logging improvements. -

    -
  • -
  • -

    -Don’t open relative files in fuzzy_url with :open -

    -
  • -
  • -

    -Various crashdialog improvements. -

    -
  • -
  • -

    -Hide adblocked iframes. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Handle shutdown of page with prompt correctly. -

    -
  • -
  • -

    -fuzzy_url: handle invalid URLs with autosearch off -

    -
  • -
  • -

    -Handle explicit searches with auto-search=false. -

    -
  • -
  • -

    -Abort download override question on error/cancel. -

    -
  • -
  • -

    -Set a higher z-index for hint labels. -

    -
  • -
  • -

    -Close contextmenu when closing tab to avoid crash. -

    -
  • -
  • -

    -Fix statusbar quickly popping up as window. -

    -
  • -
  • -

    -Clean up NetworkManager after downloads finished. -

    -
  • -
  • -

    -Fix restoring of cmd widget after an error. -

    -
  • -
  • -

    -Fix retrying of downloads after the tab is closed. -

    -
  • -
  • -

    -Fix check_libraries() output for Arch Linux. -

    -
  • -
  • -

    -Handle all IPCErrors properly. -

    -
  • -
  • -

    -Handle another webelem.IsNullError with hints. -

    -
  • -
  • -

    -Handle UnicodeDecodeError when reading configs. -

    -
  • -
-
-
-

Security

-
    -
  • -

    -Fix for HTTP passwords accidentally being written to debug log. -

    -
  • -
-
-
-
-
-

v0.1.2

-
-
-

Changed

-
    -
  • -

    -Uncheck sending of debug log by default when private browsing is on. -

    -
  • -
  • -

    -Add SSL info to version info. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -Remove hosts-file.net from blocker default lists. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Fix rare exception when a key is pressed shortly after opening a window -

    -
  • -
  • -

    -Fix exception with certain invalid URLs like http:foo:0 -

    -
  • -
  • -

    -Work around Qt bug which renders checkboxes on macOS unusable -

    -
  • -
  • -

    -Fix exception when a local files can’t be read in :adblock-update -

    -
  • -
  • -

    -Hide 2 more Qt warnings. -

    -
  • -
  • -

    -Add !important to hint CSS so websites don’t override the hint look -

    -
  • -
  • -

    -Make init_venv.py work with multiple sip .so files. -

    -
  • -
  • -

    -Fix splitting with certain commands with an empty argument -

    -
  • -
  • -

    -Fix uppercase hints. -

    -
  • -
  • -

    -Fix segfaults if another page is loaded while a prompt is open -

    -
  • -
  • -

    -Fix exception with invalid ShellCommand config values. -

    -
  • -
  • -

    -Replace unencodable chars -

    -
  • -
  • -

    -Fix user-stylesheet setting with an empty value. -

    -
  • -
-
-
-
-
-

v0.1.1

-
-
-

Added

-
    -
  • -

    -Set window icon and add a qutebrowser.ico file for Windows. -

    -
  • -
  • -

    -Ask the user when downloading to an already existing file. -

    -
  • -
  • -

    -Add a network -> proxy-dns-requests option. -

    -
  • -
  • -

    -Add "Remove finished" to the download context menu -

    -
  • -
  • -

    -Open and remove clicked downloads. -

    -
  • -
-
-
-

Changes

-
    -
  • -

    -Windows releases are now built with Qt 5.4 which brings many improvements and bugfixes. -

    -
  • -
  • -

    -Add a troubleshooting section to the FAQ. -

    -
  • -
  • -

    -Display IPC errors to the user. -

    -
  • -
  • -

    -Rewrite keymode handling to use only one mode which also fixes various bugs. -

    -
  • -
  • -

    -Save version to state config. -

    -
  • -
  • -

    -Set zoom to default instead of 100% with :zoom/=. -

    -
  • -
  • -

    -Adjust page zoom if default zoom changed. -

    -
  • -
  • -

    -Force tabs to be focused on :undo. -

    -
  • -
  • -

    -Replace manual installation instructions on macOS with homebrew/macports. -

    -
  • -
  • -

    -Allow min-/maximizing of print preview on Windows. -

    -
  • -
  • -

    -Various documentation improvements. -

    -
  • -
  • -

    -Various other small improvements and cleanups. -

    -
  • -
-
-
-

Removed

-
    -
  • -

    -Clean up and temporarily disable alias completion. -

    -
  • -
-
-
-

Fixed

-
    -
  • -

    -Fix setting of QWebSettings (e.g. web fonts) with empty strings. -

    -
  • -
  • -

    -Re-focus web view when leaving prompt/yesno mode. -

    -
  • -
  • -

    -Handle :restart correctly with Python eggs. -

    -
  • -
  • -

    -Handle an invalid cwd properly. -

    -
  • -
  • -

    -Fix popping of a dead question in prompter. -

    -
  • -
  • -

    -Fix AttributeError on config changes on Ubuntu. -

    -
  • -
  • -

    -Don’t treat things like "31c3" as IP address. -

    -
  • -
  • -

    -Handle category being None in Qt message handler. -

    -
  • -
  • -

    -Force-include pygments in freeze.py. -

    -
  • -
  • -

    -Fix scroll percentage not updating on some pages like twitter. -

    -
  • -
  • -

    -Encode Content-Disposition header name properly. -

    -
  • -
  • -

    -Fix item sorting in NeighborList. -

    -
  • -
  • -

    -Handle data being None in download read timer. -

    -
  • -
  • -

    -Stop download read timer when reply has finished. -

    -
  • -
  • -

    -Fix handling of small/big fuzzyval's in NeighborList. -

    -
  • -
  • -

    -Fix crashes when entering invalid values in qute:settings. -

    -
  • -
  • -

    -Abort questions in NetworkManager when destroyed. -

    -
  • -
  • -

    -Fix height calculation of download view. -

    -
  • -
  • -

    -Always auto-remove adblock downloads when done. -

    -
  • -
  • -

    -Ensure the docs get included in freeze.py. -

    -
  • -
  • -

    -Fix crash with :zoom. -

    -
  • -
-
-
-
-
-

v0.1

-
-

Initial release.

-
-
-
-

- - - diff -pruN 1.3.0-1/doc/contributing.html 1.3.2-1/doc/contributing.html --- 1.3.0-1/doc/contributing.html 2017-10-07 20:33:37.000000000 +0000 +++ 1.3.2-1/doc/contributing.html 2018-06-07 18:30:16.000000000 +0000 @@ -1,9 +1,10 @@ + - + Contributing to qutebrowser - - - - -
-
-
-
    -
  1. -

    -What is qutebrowser based on? -

    -

    - qutebrowser uses Python, Qt and - PyQt. -

    -

    The concept of it is largely inspired by dwb -and Vimperator. Many actions and -key bindings are similar to dwb.

    -
  2. -
  3. -

    -Why another browser? -

    -

    - It might be hard to believe, but I didn’t find any browser which I was - happy with, so I started to write my own. Also, I needed a project to get - into writing GUI applications with Python and - Qt/PyQt. -

    -

    Read the next few questions to find out why I was unhappy with existing -software.

    -
  4. -
  5. -

    -What’s wrong with dwb/vimprobable/luakit/jumanji/… (projects based on WebKitGTK)? -

    -

    - Most of them are based on the WebKitGTK+ - WebKit1 API, - which causes a lot of crashes. As the GTK API using WebKit1 is - deprecated, - these bugs are never going to be fixed. -

    -

    When qutebrowser was created, the newer -WebKit2 API lacked -basic features like proxy support, and almost no projects have started porting -to WebKit2. In the meantime, this situation has improved a bit, but there are -stil only a few projects which have some kind of WebKit2 support (see the -list of -alternatives).

    -

    qutebrowser uses Qt and -QtWebEngine by default (and supports -QtWebKit optionally). QtWebEngine is based on -Google’s Chromium. With an up-to-date Qt, it has -much more man-power behind it than WebKitGTK+ has, and thus supports more modern -web features - it’s also arguably more secure.

    -
  6. -
  7. -

    -What’s wrong with Firefox and Pentadactyl/Vimperator? -

    -

    - Firefox likes to break compatibility with addons on each upgrade, gets - slower and more bloated with every upgrade, and has some - horrible - ideas lately. -

    -

    Also, developing addons for it is a nightmare.

    -
  8. -
  9. -

    -What’s wrong with Chromium and Vimium? -

    -

    - The Chrome plugin API doesn’t seem to allow much freedom for plugin - writers, which results in Vimium not really having all the features you’d - expect from a proper minimal, vim-like browser. -

    -
  10. -
  11. -

    -Why Python? -

    -

    - I enjoy writing Python since 2011, which made it one of the possible - choices. I wanted to use Qt because of - QtWebKit so I didn’t have - many other choices. I don’t - like C++ and can’t write it very well, so that wasn’t an alternative. -

    -
  12. -
  13. -

    -But isn’t Python too slow for a browser? -

    -

    - No. - I believe efficiency while coding is a lot more important than efficiency - while running. Also, most of the heavy lifting of qutebrowser is done by Qt - and WebKit in C++, with the - GIL released. -

    -
  14. -
  15. -

    -Is qutebrowser secure? -

    -

    - Most security issues are in the backend (which handles networking, - rendering, JavaScript, etc.) and not qutebrowser itself. -

    -

    qutebrowser uses QtWebEngine by default. -QtWebEngine is based on Google’s Chromium. While -Qt only updates to a new Chromium release on every minor Qt release (all ~6 -months), every patch release backports security fixes from newer Chromium -versions. In other words: As long as you’re using an up-to-date Qt, you should -be recieving security updates on a regular basis, without qutebrowser having to -do anything. Chromium’s process isolation and -sandboxing -features are also enabled as a second line of defense.

    -

    QtWebKit is also supported as an alternative -backend, but hasn’t seen new releases -in a while. It also doesn’t have any -site isolation or sandboxing.

    -

    Security issues in qutebrowser’s code happen very rarely (as per March 2018, -there has been one security issue caused by qutebrowser in over four years) and -are fixed timely. To report security bugs, please contact me directly at -mail@qutebrowser.org, GPG ID -0x916eb0c8fd55a072.

    -
  16. -
  17. -

    -Is there an adblocker? -

    -

    - There is a host-based adblocker which takes /etc/hosts-like lists. A "real" - adblocker has a - big - impact on browsing speed and - RAM - usage, so implementing support for AdBlockPlus-like lists is currently not - a priority. -

    -
  18. -
  19. -

    -How do I play Youtube videos with mpv? -

    -

    - You can easily add a key binding to play youtube videos inside a real video - player - optionally even with hinting for links: -

    -
    -
    -
    :bind m spawn mpv {url}
    -:bind M hint links spawn mpv {hint-url}
    -
    -

    Note that you might need an additional package (e.g. -youtube-dl on -Archlinux) to play web videos with mpv.

    -

    There is a very useful script for mpv, which emulates "unique application" -functionality. This way you can add links to the mpv playlist instead of -playing them all at once.

    - -

    It also works nicely with rapid hints:

    -
    -
    -
    :bind m spawn umpv {url}
    -:bind M hint links spawn umpv {hint-url}
    -:bind ;M hint --rapid links spawn umpv {hint-url}
    -
    -
  20. -
  21. -

    -How do I use qutebrowser with mutt? -

    -

    - Due to a Qt limitation, local files without .html extensions are - "downloaded" instead of displayed, see - #566. You can work - around this by using this in your mailcap: -

    -
    -
    -
        text/html; mv %s %s.html && qutebrowser %s.html >/dev/null 2>/dev/null; needsterminal;
    -
    -
  22. -
  23. -

    -What is the difference between bookmarks and quickmarks? -

    -

    - Bookmarks will always use the title of the website as their name, but with quickmarks - you can set your own title. -

    -

    For example, if you bookmark multiple food recipe websites and use :open, -you have to type the title or address of the website.

    -

    When using quickmark, you can give them all names, like -foodrecipes1, foodrecipes2 and so on. When you type -:open foodrecipes, you will see a list of all the food recipe sites, -without having to remember the exact website title or address.

    -
  24. -
  25. -

    -How do I use spell checking? -

    -

    - Configuring spell checking in qutebrowser depends on the backend in use - (see #700 for - a more detailed discussion). -

    -

    For QtWebKit:

    -
      -
    1. -

      -Install qtwebkit-plugins. -

      -
    2. -
    3. -

      -Note: with QtWebKit reloaded you may experience some issues. See - #10. -

      -
    4. -
    5. -

      -The dictionary to use is taken from the DICTIONARY environment variable. - The default is en_US. For example to use Dutch spell check set DICTIONARY - to nl_NL; you can’t use multiple dictionaries or change them at runtime at - the moment. - (also see the README file for qtwebkit-plugins). -

      -
    6. -
    7. -

      -Remember to install the hunspell dictionaries if you don’t have them already - (most distros should have packages for this). -

      -
    8. -
    -

    For QtWebEngine:

    -
      -
    1. -

      -Make sure your versions of PyQt and Qt are 5.8 or higher. -

      -
    2. -
    3. -

      -Use dictcli.py script to install dictionaries. - Run the script with -h for the parameter description. -

      -
    4. -
    5. -

      -Set spellcheck.languages to the desired list of languages, e.g.: - :set spellcheck.languages "['en-US', 'pl-PL']" -

      -
    6. -
    -
  26. -
  27. -

    -How do I use Tor with qutebrowser? -

    -

    - Start tor on your machine, and do :set content.proxy socks://localhost:9050/ - in qutebrowser. Note this won’t give you the same amount of fingerprinting - protection that the Tor Browser does, but it’s useful to be able to access - .onion sites. -

    -
  28. -
  29. -

    -Why does J move to the next (right) tab, and K to the previous (left) one? -

    -

    - One reason is because dwb did it that way, - and qutebrowser’s keybindings are designed to be compatible with dwb’s. - The rationale behind it is that J is "down" in vim, and K is "up", which - corresponds nicely to "next"/"previous". It also makes much more sense with - vertical tabs (e.g. :set tabs.position left). -

    -
  30. -
  31. -

    -What’s the difference between insert and passthrough mode? -

    -

    - They are quite similar, but insert mode has some bindings (like Ctrl-e to - open an editor) while passthrough mode only has escape bound. It might also - be useful to rebind escape to something else in passthrough mode only, to be - able to send an escape keypress to the website. -

    -
  32. -
  33. -

    -Why takes it longer to open an URL in qutebrowser than in chromium? -

    -

    - When opening an URL in an existing instance the normal qutebrowser - Python script is started and a few PyQt libraries need to be - loaded until it is detected that there is an instance running - where the URL is then passed to. This takes some time. - One workaround is to use this - script - and place it in your $PATH with the name "qutebrowser". This - script passes the URL via an unix socket to qutebrowser (if its - running already) using socat which is much faster and starts a new - qutebrowser if it is not running already. Also check if you want - to use webengine as backend in line 17 and change it to your - needs. -

    -
  34. -
-
-
-
-

Troubleshooting

-
-
-
-Unable to view flash content. -
-
-

- If you have flash installed for on your system, it’s necessary to enable plugins - to use the flash plugin. Using the command :set content.plugins true - in qutebrowser will enable plugins. Packages for flash should - be provided for your platform or it can be obtained from - Adobe. -

-
-
-Experiencing freezing on sites like duckduckgo and youtube. -
-
-

- This issue could be caused by stale plugin files installed by mozplugger - if mozplugger was subsequently removed. - Try exiting qutebrowser and removing ~/.mozilla/plugins/mozplugger*.so. - See Issue #357 - for more details. -

-
-
-When using QtWebEngine, qutebrowser reports "Render Process Crashed" and the console prints a traceback on Gentoo Linux or another Source-Based Distro -
-
-

- As stated in GCC’s Website GCC 6 has introduced some optimizations that could break non-conforming codebases, like QtWebEngine.
- As a workaround, you can disable the nullpointer check optimization by adding the -fno-delete-null-pointer-checks flag while compiling.
- On gentoo, you just need to add it into your make.conf, like this:
-

-
-
-
CFLAGS="... -fno-delete-null-pointer-checks"
-CXXFLAGS="... -fno-delete-null-pointer-checks"
-
-

And then re-emerging qtwebengine with:

-
-
-
emerge -1 qtwebengine
-
-
-
-Unable to view DRM content (Netflix, Spotify, etc.). -
-
-

- You will need to install widevine and set qt.args to point to it. - Qt 5.9 currently only supports widevine up to Chrome version 61. -

-

On Arch, simply install qt5-webengine-widevine from the AUR and run:

-
-
-
:set qt.args '["ppapi-widevine-path=/usr/lib/qt/plugins/ppapi/libwidevinecdmadapter.so"]'
-:restart
-
-

For other distributions, download the chromium tarball and widevine-cdm zip from -the AUR page, -extract libwidevinecdmadapter.so and libwidevinecdm.so files, respectively, -and move them to the ppapi plugin directory in your Qt library directory (create it if it does not exist).

-

Lastly, set your qt.args to point to that directory and restart qutebrowser:

-
-
-
:set qt.args '["ppapi-widevine-path=/usr/lib64/qt5/plugins/ppapi/libwidevinecdmadapter.so"]'
-:restart
-
-
-
-My issue is not listed. -
-
-

- If you experience any segfaults or crashes, you can report the issue in - the issue tracker or - using the :report command. - If you are reporting a segfault, make sure you read the - guide on how to report them with all needed - information. -

-
-
-
-
-
-

- - - diff -pruN 1.3.0-1/doc/install.html 1.3.2-1/doc/install.html --- 1.3.0-1/doc/install.html 2018-03-21 09:55:30.000000000 +0000 +++ 1.3.2-1/doc/install.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,1276 +0,0 @@ - - - - - - -Installing qutebrowser - - - - - -
-
-
-
-
Table of Contents
- -
-
- - - -
-
Note
-
qutebrowser recently had some bigger dependency changes for v1.0.0, which -means those instructions might be out of date in some places. -Please help -updating them if you notice something being broken!
-
-
-
-
-

On Debian / Ubuntu

-
-

How to install qutebrowser depends a lot on the version of Debian/Ubuntu you’re -running.

-
-

Debian Jessie / Ubuntu 14.04 LTS / Linux Mint < 18

-

Those distributions only have Python 3.4 and a too old Qt version available, -while qutebrowser requires Python 3.5 and Qt 5.7.1 or newer.

-

It should be possible to install Python 3.5 e.g. from the -deadsnakes PPA or via -pyenv, but nobody tried that yet.

-

If you get qutebrowser running on those distributions, please -contribute -to update this documentation!

-
-
-

Ubuntu 16.04 LTS / Linux Mint 18

-

Ubuntu 16.04 doesn’t come with an up-to-date engine (a new enough QtWebKit, or -QtWebEngine). However, it comes with Python 3.5, so you can -install qutebrowser via tox.

-

You’ll need some basic libraries to use the tox-installed PyQt:

-
-
-
# apt install libglib2.0-0 libgl1 libfontconfig1 libx11-xcb1 libxi6 libxrender1 libdbus-1-3
-
-
-
-

Debian Stretch / Ubuntu 17.04 and 17.10

-

Those versions come with QtWebEngine in the repositories. This makes it possible -to install qutebrowser via the Debian package.

-

You’ll need to download three packages:

-
-

After downloading, install the packages:

-
-
-
# apt install ./python3-pypeg2_*_all.deb
-# apt install ./qutebrowser*.deb
-
-

For an update after the initial install, you only need to download/install the -qutebrowser package.

-
-
-

Debian Testing / Ubuntu 18.04

-

On Debian Testing, qutebrowser is in the official repositories, and you can -install it with apt:

-
-
-
# apt install qutebrowser
-
-
-
-

Additional hints

-
    -
  • -

    -Alternatively, you can install qutebrowser via tox to get a newer - QtWebEngine version. -

    -
  • -
  • -

    -If running from git, run the following to generate the documentation for the - :help command: -

    -
    -
    -
    # apt install --no-install-recommends asciidoc source-highlight
    -$ python3 scripts/asciidoc2html.py
    -
    -
  • -
  • -

    -If you prefer using QtWebKit, there’s an up-to-date version available in - Debian Testing. -

    -
  • -
  • -

    -If video or sound don’t work with QtWebKit, try installing the gstreamer plugins: -

    -
    -
    -
    # apt install gstreamer1.0-plugins-{bad,base,good,ugly}
    -
    -
  • -
-
-
-
-
-

On Fedora

-
-
- - - -
-
Note
-
Fedora’s packages used to be outdated for a long time, but are -now (November 2017) maintained and up-to-date again.
-
-

qutebrowser is available in the official repositories:

-
-
-
# dnf install qutebrowser
-
-

However, note that Fedora 25/26 won’t be updated to qutebrowser v1.0, so you -might want to install qutebrowser via tox instead there.

-
-

Additional hints

-

Fedora only ships free software in the repositories. -To be able to play videos with proprietary codecs with QtWebEngine, you will -need to install an additional package from the RPM Fusion Free repository. -For more information see https://rpmfusion.org/Configuration.

-
-
-
# dnf install qt5-qtwebengine-freeworld
-
-
-
-
-
-

On Archlinux

-
-

qutebrowser is available in the official [community] repository.

-
-
-
# pacman -S qutebrowser
-
-

There is also a -git version available in the AUR: -qutebrowser-git.

-

You can install it using makepkg like this:

-
-
-
$ git clone https://aur.archlinux.org/qutebrowser-git.git
-$ cd qutebrowser-git
-$ makepkg -si
-$ cd ..
-$ rm -r qutebrowser-git
-
-

or you could use an AUR helper, e.g. yaourt -S qutebrowser-git.

-

If video or sound don’t work with QtWebKit, try installing the gstreamer plugins:

-
-
-
# pacman -S gst-plugins-{base,good,bad,ugly} gst-libav
-
-
-
-
-

On Gentoo

-
-
- - - -
-
Note
-
Gentoo’s packages used to be severely outdated for a long time, but are -now (October 2017) maintained and up-to-date again.
-
-

qutebrowser is available in the main repository and can be installed with:

-
-
-
# emerge -av qutebrowser
-
-

To use QtWebKit instead of QtWebEngine, you’ll need a newer QtWebKit using -this ebuild.

-

If video or sound don’t work with QtWebKit, try installing the gstreamer -plugins:

-
-
-
# emerge -av gst-plugins-{base,good,bad,ugly,libav}
-
-

To be able to play videos with proprietary codecs with QtWebEngine, you will -need to turn off the bindist flag for dev-qt/qtwebengine.

-

See the Gentoo Wiki for -more information.

-
-
-
-

On Void Linux

-
-

qutebrowser is available in the official repositories and can be installed -with:

-
-
-
# xbps-install qutebrowser
-
-

It’s currently recommended to install python3-PyQt5-webengine and -python3-PyQt5-opengl, then start with --backend webengine to use the new -backend.

-

Since the v1.0 release, qutebrowser uses QtWebEngine by default.

-
-
-
-

On NixOS

-
-

Nixpkgs collection contains pkgs.qutebrowser since June 2015. You can install -it with:

-
-
-
$ nix-env -i qutebrowser
-
-

It’s recommended to install qt5.qtwebengine and start with ---backend webengine to use the new backend.

-

Since the v1.0 release, qutebrowser uses QtWebEngine by default.

-
-
-
-

On openSUSE

-
-

There are prebuilt RPMs available at OBS.

-

To use the QtWebEngine backend, install libqt5-qtwebengine.

-
-
-
-

On OpenBSD

-
-
- - - -
-
Warning
-
OpenBSD only packages a legacy unmaintained version of QtWebKit (for -which support was dropped in qutebrowser v1.0). It’s advised to not use -qutebrowser from OpenBSD ports for untrusted websites.
-
-

qutebrowser is in OpenBSD ports.

-

Install the package:

-
-
-
# pkg_add qutebrowser
-
-

Or alternatively, use the ports system :

-
-
-
# cd /usr/ports/www/qutebrowser
-# make install
-
-
-
-
-

On FreeBSD

-
-

qutebrowser is in FreeBSD ports.

-

It can be installed with:

-
-
-
# cd /usr/ports/www/qutebrowser
-# make install clean
-
-

At present, precompiled packages are not available for this port, -and QtWebEngine backend is also not available.

-
-
-
-

On Windows

-
-

There are different ways to install qutebrowser on Windows:

-
-

Prebuilt binaries

-

Prebuilt standalone packages and installers -are built for every -release.

-

Note that you’ll need to upgrade to new versions manually (subscribe to the -qutebrowser-announce -mailinglist to get notified on new releases). You can install a newer version -without uninstalling the older one.

-

The binary release ships with a QtWebEngine built without proprietary codec -support. To get support for e.g. h264/h265 videos, you’ll need to build -QtWebEngine from source yourself with support for that enabled.

-
-
-

Chocolatey package

-
    -
  • -

    -PackageManagement PowerShell module -

    -
  • -
-
-
-
PS C:\> Install-Package qutebrowser
-
-
    -
  • -

    -Chocolatey’s client -

    -
  • -
-
-
-
C:\> choco install qutebrowser
-
-
    -
  • -

    -Scoop’s client -

    -
  • -
-
-
-
C:\> scoop bucket add extras
-C:\> scoop install qutebrowser
-
-
-
-

Manual install

-
    -
  • -

    -Use the installer from python.org to get -Python 3 (be sure to install pip). -

    -
  • -
  • -

    -Install tox via -pip: -

    -
  • -
-
-
-
$ pip install tox
-
- -
-
-
-
-

On macOS

-
-
-

Prebuilt binary

-

The easiest way to install qutebrowser on macOS is to use the prebuilt .app -files from the -release page.

-

Note that you’ll need to upgrade to new versions manually (subscribe to the -qutebrowser-announce -mailinglist to get notified on new releases).

-

The binary release ships with a QtWebEngine built without proprietary codec -support. To get support for e.g. h264/h265 videos, you’ll need to build -QtWebEngine from source yourself with support for that enabled.

-

This binary is also available through the -Homebrew Cask package manager:

-
-
-
$ brew cask install qutebrowser
-
-
-
-

Manual Install

-

Alternatively, you can install the dependencies via a package manager (like -Homebrew or MacPorts) and run -qutebrowser from source.

-
-

Homebrew

-
-
-
$ brew install qt5
-$ pip3 install qutebrowser
-
-

Since the v1.0 release, qutebrowser uses QtWebEngine by default.

-

Homebrew’s builds of Qt and PyQt don’t come with QtWebKit (and --with-qtwebkit -uses an old version of QtWebKit which qutebrowser doesn’t support anymore). If -you want QtWebKit support, you’ll need to build an up-to-date QtWebKit -manually.

-
-
-
-
-
-

Packagers

-
-

There are example .desktop and icon files provided. They would go in the -standard location for your distro (/usr/share/applications and -/usr/share/pixmaps for example).

-

The normal setup.py install doesn’t install these files, so you’ll have to do -it as part of the packaging process.

-
-
-
-

Installing qutebrowser with tox

-
-
-

Getting the repository

-

First of all, clone the repository using git and switch -into the repository folder:

-
-
-
$ git clone https://github.com/qutebrowser/qutebrowser.git
-$ cd qutebrowser
-
-
-
-

Installing depdendencies (including Qt)

-

Then run tox inside the qutebrowser repository to set up a -virtual environment:

-
-
-
$ tox -e mkvenv-pypi
-
-

This installs all needed Python dependencies in a .venv subfolder.

-

This comes with an up-to-date Qt/PyQt including QtWebEngine, but has a few -caveats:

-
    -
  • -

    -Make sure your python3 is Python 3.5 or newer, otherwise you’ll get a "No - matching distribution found" error. Note that qutebrowser itself also requires - this. -

    -
  • -
  • -

    -It only works on 64-bit x86 systems, with other architectures you’ll get the - same error. -

    -
  • -
  • -

    -If your distribution uses OpenSSL 1.1 (like Debian Stretch or Archlinux), - you’ll need to set LD_LIBRARY_PATH to the OpenSSL 1.0 directory - (export LD_LIBRARY_PATH=/usr/lib/openssl-1.0 on Archlinux) before starting - qutebrowser if you want SSL to work in certain downloads (e.g. for - :adblock-update or :download). -

    -
  • -
  • -

    -It comes with a QtWebEngine compiled without proprietary codec support (such - as h.264). -

    -
  • -
-

See the next section for an alternative.

-
-
-

Installing dependencies (system-wide Qt)

-

Alternatively, you can use tox -e mkvenv (without -pypi) to symlink your -local Qt install instead of installing PyQt in the virtualenv. However, unless -you have a new QtWebKit or QtWebEngine available, qutebrowser will not work. It -also typically means you’ll be using an older release of QtWebEngine.

-

On Windows, run set PYTHON=C:\path\to\python.exe (CMD) or ``$Env:PYTHON = -"…"` (Powershell) first.

-
-
-

Creating a wrapper script

-

Running tox does not install a system-wide qutebrowser script. You can -launch qutebrowser by doing .venv/bin/python3 -m qutebrowser.

-

You can create a simple wrapper script to start qutebrowser somewhere in your -$PATH (e.g. /usr/local/bin/qutebrowser or ~/bin/qutebrowser):

-
-
-
#!/bin/bash
-~/path/to/qutebrowser/.venv/bin/python3 -m qutebrowser "$@"
-
-
-
-

Building the docs

-

To build the documentation, install asciidoc (note that LaTeX which comes as -optional/recommended dependency with some distributions is not required).

-

Then, run:

-
-
-
$ python3 scripts/asciidoc2html.py
-
-
-
-

Updating

-

When you updated your local copy of the code (e.g. by pulling the git repo, or -extracting a new version), the virtualenv should automatically use the updated -code. However, if dependencies got added, this won’t be reflected in the -virtualenv. Thus it’s recommended to run the following command to recreate the -virtualenv:

-
-
-
$ tox -r -e mkvenv-pypi
-
-
-
-
-
-

- - - diff -pruN 1.3.0-1/doc/qutebrowser.1 1.3.2-1/doc/qutebrowser.1 --- 1.3.0-1/doc/qutebrowser.1 2018-05-04 05:54:19.000000000 +0000 +++ 1.3.2-1/doc/qutebrowser.1 2018-06-10 14:01:33.000000000 +0000 @@ -2,12 +2,12 @@ .\" Title: qutebrowser .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot -.\" Date: 05/04/2018 +.\" Date: 06/10/2018 .\" Manual: qutebrowser manpage .\" Source: qutebrowser .\" Language: English .\" -.TH "QUTEBROWSER" "1" "05/04/2018" "qutebrowser" "qutebrowser manpage" +.TH "QUTEBROWSER" "1" "06/10/2018" "qutebrowser" "qutebrowser manpage" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -pruN 1.3.0-1/PKG-INFO 1.3.2-1/PKG-INFO --- 1.3.0-1/PKG-INFO 2018-05-04 05:54:21.000000000 +0000 +++ 1.3.2-1/PKG-INFO 2018-06-10 14:01:36.000000000 +0000 @@ -1,12 +1,11 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: qutebrowser -Version: 1.3.0 +Version: 1.3.2 Summary: A keyboard-driven, vim-like browser based on PyQt5. Home-page: https://www.qutebrowser.org/ Author: Florian Bruhin Author-email: mail@qutebrowser.org License: GPL -Description-Content-Type: UNKNOWN Description: // If you are reading this in plaintext or on PyPi: // // A rendered version is available at: @@ -261,3 +260,4 @@ Classifier: Topic :: Internet Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Internet :: WWW/HTTP :: Browsers Requires-Python: >=3.5 +Description-Content-Type: text/plain diff -pruN 1.3.0-1/qutebrowser/browser/mouse.py 1.3.2-1/qutebrowser/browser/mouse.py --- 1.3.0-1/qutebrowser/browser/mouse.py 2018-04-16 17:05:44.000000000 +0000 +++ 1.3.2-1/qutebrowser/browser/mouse.py 2018-06-10 13:34:34.000000000 +0000 @@ -22,7 +22,7 @@ from PyQt5.QtCore import QObject, QEvent, Qt, QTimer from qutebrowser.config import config -from qutebrowser.utils import message, log, usertypes +from qutebrowser.utils import message, log, usertypes, qtutils from qutebrowser.keyinput import modeman @@ -54,6 +54,14 @@ class ChildEventFilter(QObject): obj, child)) assert obj is self._widget child.installEventFilter(self._filter) + + if qtutils.version_check('5.11', compiled=False, exact=True): + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076 + QTimer.singleShot(0, self._widget.setFocus) + elif event.type() == QEvent.ChildRemoved: + child = event.child() + log.mouse.debug("{}: removed child {}".format(obj, child)) + return False diff -pruN 1.3.0-1/qutebrowser/browser/webelem.py 1.3.2-1/qutebrowser/browser/webelem.py --- 1.3.0-1/qutebrowser/browser/webelem.py 2018-04-16 17:05:44.000000000 +0000 +++ 1.3.2-1/qutebrowser/browser/webelem.py 2018-06-10 13:34:34.000000000 +0000 @@ -307,6 +307,10 @@ class AbstractWebElement(collections.abc href_tags = ['a', 'area', 'link'] return self.tag_name() in href_tags and 'href' in self + def _requires_user_interaction(self): + """Return True if clicking this element needs user interaction.""" + raise NotImplementedError + def _mouse_pos(self): """Get the position to click/hover.""" # Click the center of the largest square fitting into the top/left @@ -405,7 +409,7 @@ class AbstractWebElement(collections.abc return if click_target == usertypes.ClickTarget.normal: - if self.is_link(): + if self.is_link() and not self._requires_user_interaction(): log.webelem.debug("Clicking via JS click()") self._click_js(click_target) elif self.is_editable(strict=True): diff -pruN 1.3.0-1/qutebrowser/browser/webengine/webengineelem.py 1.3.2-1/qutebrowser/browser/webengine/webengineelem.py --- 1.3.0-1/qutebrowser/browser/webengine/webengineelem.py 2018-03-13 16:51:16.000000000 +0000 +++ 1.3.2-1/qutebrowser/browser/webengine/webengineelem.py 2018-06-10 13:34:34.000000000 +0000 @@ -27,7 +27,7 @@ from PyQt5.QtGui import QMouseEvent from PyQt5.QtWidgets import QApplication from PyQt5.QtWebEngineWidgets import QWebEngineSettings -from qutebrowser.utils import log, javascript +from qutebrowser.utils import log, javascript, urlutils from qutebrowser.browser import webelem @@ -198,6 +198,13 @@ class WebEngineElement(webelem.AbstractW if self.is_text_input() and self.is_editable(): self._js_call('move_cursor_to_end') + def _requires_user_interaction(self): + baseurl = self._tab.url() + url = self.resolve_url(baseurl) + if url is None: + return True + return url.scheme() not in urlutils.WEBENGINE_SCHEMES + def _click_editable(self, click_target): # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-58515 ev = QMouseEvent(QMouseEvent.MouseButtonPress, QPoint(0, 0), diff -pruN 1.3.0-1/qutebrowser/browser/webengine/webenginequtescheme.py 1.3.2-1/qutebrowser/browser/webengine/webenginequtescheme.py --- 1.3.0-1/qutebrowser/browser/webengine/webenginequtescheme.py 2018-03-13 16:51:16.000000000 +0000 +++ 1.3.2-1/qutebrowser/browser/webengine/webenginequtescheme.py 2018-06-10 13:34:34.000000000 +0000 @@ -34,6 +34,9 @@ class QuteSchemeHandler(QWebEngineUrlSch def install(self, profile): """Install the handler for qute:// URLs on the given profile.""" profile.installUrlSchemeHandler(b'qute', self) + if qtutils.version_check('5.11', compiled=False): + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-63378 + profile.installUrlSchemeHandler(b'chrome-error', self) def requestStarted(self, job): """Handle a request for a qute: scheme. @@ -45,6 +48,12 @@ class QuteSchemeHandler(QWebEngineUrlSch job: QWebEngineUrlRequestJob """ url = job.requestUrl() + + if url.scheme() == 'chrome-error': + # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-63378 + job.fail(QWebEngineUrlRequestJob.UrlInvalid) + return + assert job.requestMethod() == b'GET' assert url.scheme() == 'qute' log.misc.debug("Got request for {}".format(url.toDisplayString())) diff -pruN 1.3.0-1/qutebrowser/browser/webengine/webenginetab.py 1.3.2-1/qutebrowser/browser/webengine/webenginetab.py --- 1.3.0-1/qutebrowser/browser/webengine/webenginetab.py 2018-05-03 15:55:54.000000000 +0000 +++ 1.3.2-1/qutebrowser/browser/webengine/webenginetab.py 2018-06-10 14:01:10.000000000 +0000 @@ -780,8 +780,6 @@ class WebEngineTab(browsertab.AbstractTa url: The QUrl to open. predict: If set to False, predicted_navigation is not emitted. """ - # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076 - self._widget.setFocus() self._saved_zoom = self.zoom.factor() self._openurl_prepare(url, predict=predict) self._widget.load(url) @@ -1028,8 +1026,9 @@ class WebEngineTab(browsertab.AbstractTa log.config.debug( "Loading {} again because of config change".format( self._reload_url.toDisplayString())) - QTimer.singleShot(100, lambda url=self._reload_url: - self.openurl(url, predict=False)) + QTimer.singleShot(100, functools.partial(self.openurl, + self._reload_url, + predict=False)) self._reload_url = None if not qtutils.version_check('5.10', compiled=False): @@ -1048,10 +1047,11 @@ class WebEngineTab(browsertab.AbstractTa @pyqtSlot(usertypes.NavigationRequest) def _on_navigation_request(self, navigation): super()._on_navigation_request(navigation) + if not navigation.accepted or not navigation.is_main_frame: return - needs_reload = { + settings_needing_reload = { 'content.plugins', 'content.javascript.enabled', 'content.javascript.can_access_clipboard', @@ -1060,11 +1060,20 @@ class WebEngineTab(browsertab.AbstractTa 'input.spatial_navigation', 'input.spatial_navigation', } - assert needs_reload.issubset(configdata.DATA) + assert settings_needing_reload.issubset(configdata.DATA) changed = self.settings.update_for_url(navigation.url) - if (changed & needs_reload and navigation.navigation_type != - navigation.Type.link_clicked): + reload_needed = changed & settings_needing_reload + + # On Qt < 5.11, we don't don't need a reload when type == link_clicked. + # On Qt 5.11.0, we always need a reload. + # TODO on Qt > 5.11.0, we hopefully never need a reload: + # https://codereview.qt-project.org/#/c/229525/1 + if not qtutils.version_check('5.11.0', exact=True, compiled=False): + if navigation.navigation_type == navigation.Type.link_clicked: + reload_needed = False + + if reload_needed: # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-66656 self._reload_url = navigation.url @@ -1106,4 +1115,4 @@ class WebEngineTab(browsertab.AbstractTa self.predicted_navigation.connect(self._on_predicted_navigation) def event_target(self): - return self._widget.focusProxy() + return self._widget.render_widget() diff -pruN 1.3.0-1/qutebrowser/browser/webengine/webview.py 1.3.2-1/qutebrowser/browser/webengine/webview.py --- 1.3.0-1/qutebrowser/browser/webengine/webview.py 2018-05-03 11:21:38.000000000 +0000 +++ 1.3.2-1/qutebrowser/browser/webengine/webview.py 2018-06-10 13:42:47.000000000 +0000 @@ -21,8 +21,10 @@ import functools +import sip from PyQt5.QtCore import pyqtSignal, pyqtSlot, QUrl, PYQT_VERSION from PyQt5.QtGui import QPalette +from PyQt5.QtQuickWidgets import QQuickWidget from PyQt5.QtWebEngineWidgets import (QWebEngineView, QWebEnginePage, QWebEngineScript) @@ -30,6 +32,7 @@ from qutebrowser.browser import shared from qutebrowser.browser.webengine import certificateerror, webenginesettings from qutebrowser.config import config from qutebrowser.utils import log, debug, usertypes, jinja, objreg, qtutils +from qutebrowser.misc import miscwidgets class WebEngineView(QWebEngineView): @@ -51,6 +54,34 @@ class WebEngineView(QWebEngineView): parent=self) self.setPage(page) + if qtutils.version_check('5.11', compiled=False): + # Set a PseudoLayout as a WORKAROUND for + # https://bugreports.qt.io/browse/QTBUG-68224 + # and other related issues. + sip.delete(self.layout()) + self._layout = miscwidgets.PseudoLayout(self) + + def render_widget(self): + """Get the RenderWidgetHostViewQt for this view. + + Normally, this would always be the focusProxy(). + However, it sometimes isn't, so we use this as a WORKAROUND for + https://bugreports.qt.io/browse/QTBUG-68727 + """ + proxy = self.focusProxy() + if proxy is not None: + return proxy + + # This should only find the RenderWidgetHostViewQtDelegateWidget, + # but not e.g. a QMenu + children = self.findChildren(QQuickWidget) + + if not children: + return None + + assert len(children) == 1, children + return children[0] + def shutdown(self): self.page().shutdown() diff -pruN 1.3.0-1/qutebrowser/browser/webkit/webkitelem.py 1.3.2-1/qutebrowser/browser/webkit/webkitelem.py --- 1.3.0-1/qutebrowser/browser/webkit/webkitelem.py 2018-03-28 13:23:05.000000000 +0000 +++ 1.3.2-1/qutebrowser/browser/webkit/webkitelem.py 2018-06-10 13:34:34.000000000 +0000 @@ -305,6 +305,9 @@ class WebKitElement(webelem.AbstractWebE if self.is_text_input() and self.is_editable(): self._tab.caret.move_to_end_of_document() + def _requires_user_interaction(self): + return False + def _click_editable(self, click_target): ok = self._elem.evaluateJavaScript('this.focus(); true;') if ok: diff -pruN 1.3.0-1/qutebrowser/git-commit-id 1.3.2-1/qutebrowser/git-commit-id --- 1.3.0-1/qutebrowser/git-commit-id 2018-05-04 05:54:21.000000000 +0000 +++ 1.3.2-1/qutebrowser/git-commit-id 2018-06-10 14:01:36.000000000 +0000 @@ -1 +1 @@ -7762017f0 (2018-05-03 19:25:04 +0200) \ No newline at end of file +e9b4c2a66 (2018-06-10 15:58:54 +0200) \ No newline at end of file diff -pruN 1.3.0-1/qutebrowser/html/doc/changelog.html 1.3.2-1/qutebrowser/html/doc/changelog.html --- 1.3.0-1/qutebrowser/html/doc/changelog.html 2018-05-04 05:54:03.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/changelog.html 2018-06-10 14:01:12.000000000 +0000 @@ -807,6 +807,77 @@ breaking changes (such as renamed comman
+

v1.3.2

+
+
+

Fixed

+
    +
  • +

    +QtWebEngine: Improved workaround for a bug in Qt 5.11 where only the + top/bottom half of the window is used. +

    +
  • +
  • +

    +QtWebEngine: Work around a bug in Qt 5.11 where an endless loading-loop is + triggered when clicking a link with an unknown scheme. +

    +
  • +
  • +

    +QtWebEngine: When switching between pages with changed settings, less + unnecessary reloads are done now. +

    +
  • +
  • +

    +QtWebEngine: It’s now possible to open external links such as magnet:// or + mailto: via hints. +

    +
  • +
+
+
+
+
+

v1.3.1

+
+
+

Fixed

+
    +
  • +

    +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. +

    +
  • +
+
+
+
+

v1.3.0

@@ -910,7 +981,7 @@ Error messages when trying to wrap when
-

Fixed

+

Fixed

  • @@ -1065,7 +1136,7 @@ The macOS release now should work again

    v1.2.1

    -

    Fixed

    +

    Fixed

    • @@ -1422,7 +1493,7 @@ Replacements like {url} can

    -

    Fixed

    +

    Fixed

    • @@ -1606,7 +1677,7 @@ Windows/macOS releases now bundle Qt 5.1

    -

    Fixed

    +

    Fixed

    • @@ -1626,7 +1697,7 @@ Compatibility with Python 3.7

      v1.1.1

      -

      Fixed

      +

      Fixed

      • @@ -1983,7 +2054,7 @@ The colors.completion.fg se

      -

      Fixed

      +

      Fixed

      • @@ -2126,7 +2197,7 @@ The x[xtb] default bindings

        v1.0.4

        -

        Fixed

        +

        Fixed

        • @@ -2189,7 +2260,7 @@ The :open-editor command is now not hidd

        -

        Fixed

        +

        Fixed

        • @@ -2220,7 +2291,7 @@ Completions are now sorted correctly aga

          v1.0.2

          -

          Fixed

          +

          Fixed

          • @@ -2270,7 +2341,7 @@ Nicer error messages and other minor imp

            v1.0.1

            -

            Fixed

            +

            Fixed

            • @@ -2870,7 +2941,7 @@ Trying to focus the currently focused ta

            -

            Fixed

            +

            Fixed

            • @@ -3041,7 +3112,7 @@ Scrolling to an anchor in a background t

            -

            Fixed

            +

            Fixed

            • @@ -3286,7 +3357,7 @@ qutebrowser now automatically uses QtWeb

            -

            Fixed

            +

            Fixed

            • @@ -3417,7 +3488,7 @@ Lines in Jupyter notebook now trigger in

              v0.9.1

              -

              Fixed

              +

              Fixed

              • @@ -3964,7 +4035,7 @@ The -c/--confdir

              -

              Fixed

              +

              Fixed

              • @@ -4016,7 +4087,7 @@ Fixed crash when a included HTML was not

                v0.8.3

                -

                Fixed

                +

                Fixed

                • @@ -4087,7 +4158,7 @@ Userscripts now can access QUTE_FIFO cor

                  v0.8.2

                  -

                  Fixed

                  +

                  Fixed

                  • @@ -4161,7 +4232,7 @@ Fixed :restart deleting the

                    v0.8.1

                    -

                    Fixed

                    +

                    Fixed

                    • @@ -4280,7 +4351,7 @@ New taskadd userscript to a

                    -

                    Fixed

                    +

                    Fixed

                    • @@ -4536,7 +4607,7 @@ Better history implementation which also
                    -

                    Fixed

                    +

                    Fixed

                    • @@ -4644,7 +4715,7 @@ Strip off trailing spaces for history en

                      v0.6.2

                      -

                      Fixed

                      +

                      Fixed

                      • @@ -4681,7 +4752,7 @@ Fixed various crashes related to PyQt 5.

                        v0.6.1

                        -

                        Fixed

                        +

                        Fixed

                        • @@ -4821,7 +4892,7 @@ Blocked hosts are now also read from a <

                        -

                        Fixed

                        +

                        Fixed

                        • @@ -4929,7 +5000,7 @@ The gt/gT bind

                          v0.5.1

                          -

                          Fixed

                          +

                          Fixed

                          • @@ -5250,7 +5321,7 @@ The :download-page command

                          -

                          Fixed

                          +

                          Fixed

                          • @@ -5343,7 +5414,7 @@ Removed .pyc files accident

                            v0.4.1

                            -

                            Fixed

                            +

                            Fixed

                            • @@ -5545,7 +5616,7 @@ Better support for Qt 5.5 and Python 3.5

                            -

                            Fixed

                            +

                            Fixed

                            • @@ -5874,7 +5945,7 @@ Support for Qt installations without SSL

                            -

                            Fixed

                            +

                            Fixed

                            • @@ -5968,7 +6039,7 @@ Sessions now store zoom/scroll-position

                              v0.2.1

                              -

                              Fixed

                              +

                              Fixed

                              • @@ -6550,7 +6621,7 @@ The :download-page command

                              -

                              Fixed

                              +

                              Fixed

                              • @@ -6710,7 +6781,7 @@ Remove debug console completing complete

                              -

                              Fixed

                              +

                              Fixed

                              • @@ -6820,7 +6891,7 @@ Hide adblocked iframes.

                              -

                              Fixed

                              +

                              Fixed

                              • @@ -6935,7 +7006,7 @@ Remove hosts-file.net from blocker defau

                              -

                              Fixed

                              +

                              Fixed

                              • @@ -7115,7 +7186,7 @@ Clean up and temporarily disable alias c

                              -

                              Fixed

                              +

                              Fixed

                              • @@ -7237,7 +7308,7 @@ Fix crash with :zoom.

                                diff -pruN 1.3.0-1/qutebrowser/html/doc/CHANGELOG.html 1.3.2-1/qutebrowser/html/doc/CHANGELOG.html --- 1.3.0-1/qutebrowser/html/doc/CHANGELOG.html 2017-11-06 11:08:28.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/CHANGELOG.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,5417 +0,0 @@ - - - - - -Change Log - - - - - -
                                -
                                -
                                -

                                All notable changes to this project will be documented in this file. -This project adheres to Semantic Versioning.

                                -
                                -
                                -
                                -

                                v0.11.1

                                -
                                -
                                -

                                Fixes

                                -
                                  -
                                • -

                                  -Fixed empty space being shown after tabs in the tabbar in some cases. -

                                  -
                                • -
                                • -

                                  -Fixed :restart in private browsing mode. -

                                  -
                                • -
                                • -

                                  -Fixed printing on macOS. -

                                  -
                                • -
                                • -

                                  -Closing a pinned tab via mouse now also prompts for confirmation. -

                                  -
                                • -
                                • -

                                  -The "try again" button on error pages works correctly again. -

                                  -
                                • -
                                • -

                                  -:spawn -u -d is now disallowed. -

                                  -
                                • -
                                • -

                                  -:spawn -d shows error messages correctly now. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.11.0

                                -
                                -
                                -

                                New dependencies

                                -
                                  -
                                • -

                                  -New dependency on PyQt5.QtOpenGL if QtWebEngine is used. QtWebEngine depends - on QtOpenGL already, but on distributions packaging split PyQt5 wrappers, the - wrappers for QtOpenGL are now required. -

                                  -
                                • -
                                • -

                                  -New dependency on PyOpenGL if QtWebEngine is used. -

                                  -
                                • -
                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -Private browsing is now implemented for QtWebEngine, and changed its - behavior: The general -> private-browsing setting now only applies to newly - opened windows, and you can use the -p flag to :open to open a private - window. -

                                  -
                                • -
                                • -

                                  -New "pinned tabs" feature, with a new :tab-pin command (bound - to <Ctrl-p> by default). -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) Implemented :follow-selected. -

                                  -
                                • -
                                • -

                                  -New :clear-messages command to clear shown messages. -

                                  -
                                • -
                                • -

                                  -New ui -> keyhint-delay setting to configure the delay until - the keyhint overlay pops up. -

                                  -
                                • -
                                • -

                                  -New -s option for :open to force a HTTPS scheme. -

                                  -
                                • -
                                • -

                                  -:debug-log-filter now accepts none as an argument to clear any log - filters. -

                                  -
                                • -
                                • -

                                  -New --debug-flag argument which replaces --debug-exit and - --pdb-postmortem. -

                                  -
                                • -
                                • -

                                  -New tabs -> favicon-scale option to scale up/down favicons. -

                                  -
                                • -
                                • -

                                  -colors -> statusbar.bg/fg.private and .command.private to - customize statusbar colors for private windows. -

                                  -
                                • -
                                • -

                                  -New {private} field displaying [Private Mode] for - ui -> window-title-format and tabs -> title-format. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) Proxy support with Qt 5.7.1 (already was supported for 5.8 and - newer) -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -To prevent elaborate phishing attacks, the Punycode version (xn--*) is now - shown in addition to the decoded version for international domain names - (IDN). -

                                  -
                                • -
                                • -

                                  -Starting with legacy QtWebKit now shows a warning message. - With the next release, support for it will be removed. -

                                  -
                                • -
                                • -

                                  -The Windows releases are redone from scratch, which means: -

                                  -
                                • -
                                • -

                                  -They now use the new QtWebEngine backend -

                                  -
                                • -
                                • -

                                  -The bundled Qt is updated from 5.5 to 5.9 -

                                  -
                                • -
                                • -

                                  -The bundled Python is updated from 3.4 to 3.6 -

                                  -
                                • -
                                • -

                                  -They are now generated with PyInstaller instead of cx_Freeze -

                                  -
                                • -
                                • -

                                  -The installer is now generated using NSIS instead of being a MSI -

                                  -
                                • -
                                • -

                                  -Improved qute://history page (with lazy loading) -

                                  -
                                • -
                                • -

                                  -Crash reports are not public anymore. -

                                  -
                                • -
                                • -

                                  -Paths like C: are now treated as absolute paths on Windows for downloads, - and invalid paths are handled properly. -

                                  -
                                • -
                                • -

                                  -Comments in the config file are now placed before the individual options - instead of being before sections. -

                                  -
                                • -
                                • -

                                  -Messages are now hidden when clicked. -

                                  -
                                • -
                                • -

                                  -stdin is now closed immediately for processes spawned from qutebrowser. -

                                  -
                                • -
                                • -

                                  -When ui -> message-timeout is set to 0, messages are now never cleared. -

                                  -
                                • -
                                • -

                                  -Middle/right-clicking the blank parts of the tab bar (when vertical) now - closes the current tab. -

                                  -
                                • -
                                • -

                                  -The adblocker now also blocks non-GET requests (e.g. POST). -

                                  -
                                • -
                                • -

                                  -javascript: links can now be hinted. -

                                  -
                                • -
                                • -

                                  -:view-source, :tab-clone and :navigate --tab now don’t open the tab as - "explicit" anymore, i.e. (with the default settings) open it next to the - active tab. -

                                  -
                                • -
                                • -

                                  -qute:* pages now use qute://* instead (e.g. qute://version instead of - qute:version), but the old versions are automatically redirected. -

                                  -
                                • -
                                • -

                                  -Texts in prompts are now selectable. -

                                  -
                                • -
                                • -

                                  -The default level for :messages is now info, not error -

                                  -
                                • -
                                • -

                                  -Trying to focus the currently focused tab with :tab-focus now focuses the - last viewed tab. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) With Qt 5.9, content -> cookies-store can now be set without - a restart. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) With Qt 5.9, better error messages are now shown for failed - downloads. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) The underlying Chromium version is now shown in the version - info. -

                                  -
                                • -
                                • -

                                  -(QtWebKit) Renderer process crashes now show an error page on Qt 5.9 or newer. -

                                  -
                                • -
                                • -

                                  -(QtWebKit) storage → offline-web-application-storage` got renamed to ...-cache -

                                  -
                                • -
                                • -

                                  -(QtWebKit) PAC now supports SOCKS5 as type. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -The macOS .dmg is now built against Qt 5.9 which fixes various - important issues (such as not being able to type dead keys). -

                                  -
                                • -
                                • -

                                  -Fixed crash with :download on PyQt 5.9. -

                                  -
                                • -
                                • -

                                  -Cloning a page without history doesn’t crash anymore. -

                                  -
                                • -
                                • -

                                  -When a download results in a HTTP error, it now shows the error correctly - instead of crashing. -

                                  -
                                • -
                                • -

                                  -Pressing ctrl-c while a config error is shown works as intended now. -

                                  -
                                • -
                                • -

                                  -When the key config isn’t writable, we now show an error instead of crashing. -

                                  -
                                • -
                                • -

                                  -Fixed crash when unbinding an unbound key in the key config. -

                                  -
                                • -
                                • -

                                  -Fixed crash when using :debug-log-filter when --filter wasn’t given on startup. -

                                  -
                                • -
                                • -

                                  -Fixed crash with some invalid setting values. -

                                  -
                                • -
                                • -

                                  -Continuing a search after clearing it now works correctly. -

                                  -
                                • -
                                • -

                                  -The tabbar and completion should now be more consistently and correctly - styled with various system styles. -

                                  -
                                • -
                                • -

                                  -Applying styiles in qt5ct now shouldn’t crash anymore. -

                                  -
                                • -
                                • -

                                  -The validation for colors in stylesheets is now less strict, - allowing for all valid Qt values. -

                                  -
                                • -
                                • -

                                  -data: URLs now aren’t added to the history anymore. -

                                  -
                                • -
                                • -

                                  -Accidentally starting with Python 2 now shows a proper error message again. -

                                  -
                                • -
                                • -

                                  -For some people, running some userscripts crashed - this should now be fixed. -

                                  -
                                • -
                                • -

                                  -Various other rare crashes should now be fixed. -

                                  -
                                • -
                                • -

                                  -The settings documentation was truncated with v0.10.1 which should now be - fixed. -

                                  -
                                • -
                                • -

                                  -Scrolling to an anchor in a background tab now works correctly, and javascript - gets the correct window size for background tabs. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) Added a workaround for a black screen with some setups -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) Starting with Nouveau graphics now shows an error message - instead of crashing in Qt. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) Retrying downloads now shows an error instead of crashing. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) Cloning a view-source tab now doesn’t crash anymore. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) window.navigator.userAgent is now set correctly when - customizing the user agent. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) HTML fullscreen is now tracked for each tab separately, which - means it’s not possible anymore to accidentally get stuck in fullscreen state - by closing a tab with a fullscreen video. -

                                  -
                                • -
                                • -

                                  -(QtWebEngine) :scroll-page with --bottom-navigate now works correctly. -

                                  -
                                • -
                                • -

                                  -(QtWebKit) The HTTP cache is disabled on Qt 5.7.1 and 5.8 now as it leads to - frequent crashes due to a Qt bug. -

                                  -
                                • -
                                • -

                                  -(QtWebKit) Fixed Crash when a PAC file returns an invalid value. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.10.1

                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  ---qt-arg and --qt-flag can now also be used to pass arguments to Chromium when using QtWebEngine. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -URLs are now redacted properly (username/password, and path/query for HTTPS) when using Proxy Autoconfig with QtWebKit -

                                  -
                                • -
                                • -

                                  -Crash when updating adblock lists with invalid UTF8-chars in them -

                                  -
                                • -
                                • -

                                  -Fixed the web inspector with QtWebEngine -

                                  -
                                • -
                                • -

                                  -Version checks when starting qutebrowser now also take the Qt version PyQt was compiled against into account -

                                  -
                                • -
                                • -

                                  -Hinting a input now doesn’t select existing text anymore with QtWebKit -

                                  -
                                • -
                                • -

                                  -The cursor now moves to the end when input elements are selected with QtWebEngine -

                                  -
                                • -
                                • -

                                  -Download suffixes like (1) are now correctly stripped with QtWebEngine -

                                  -
                                • -
                                • -

                                  -Crash when trying to print a tab which was closed in the meantime -

                                  -
                                • -
                                • -

                                  -Crash when trying to open a file twice on Windows -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.10.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -Userscripts now have a new $QUTE_COMMANDLINE_TEXT environment variable, containing the current commandline contents -

                                  -
                                • -
                                • -

                                  -New ripbang userscript to create a searchengine from a duckduckgo bang -

                                  -
                                • -
                                • -

                                  -QtWebKit Reloaded (also called QtWebKit-NG) is now fully supported -

                                  -
                                • -
                                • -

                                  -Various new functionality with the QtWebEngine backend: -

                                  -
                                    -
                                  • -

                                    -Printing support with Qt >= 5.8 -

                                    -
                                  • -
                                  • -

                                    -Proxy support with Qt >= 5.8 -

                                    -
                                  • -
                                  • -

                                    -The general -> print-element-backgrounds option with Qt >= 5.8 -

                                    -
                                  • -
                                  • -

                                    -The content -> cookies-store option -

                                    -
                                  • -
                                  • -

                                    -The storage -> cache-size option -

                                    -
                                  • -
                                  • -

                                    -The colors -> webpage.bg option -

                                    -
                                  • -
                                  • -

                                    -The HTML5 fullscreen API (e.g. youtube videos) with QtWebEngine -

                                    -
                                  • -
                                  • -

                                    -:download --mhtml -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New qute:history URL and :history command to show the browsing history -

                                  -
                                • -
                                • -

                                  -Open tabs are now auto-saved on each successful load and restored in case of a crash -

                                  -
                                • -
                                • -

                                  -:jseval now has a --file flag so you can pass a javascript file -

                                  -
                                • -
                                • -

                                  -:session-save now has a --only-active-window flag to only save the active window -

                                  -
                                • -
                                • -

                                  -macOS builds are back, and built with QtWebEngine -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -PyQt 5.7/Qt 5.7.1 is now required for the QtWebEngine backend -

                                  -
                                • -
                                • -

                                  -Scrolling with the scrollwheel while holding shift now scrolls sideways -

                                  -
                                • -
                                • -

                                  -New way of clicking hints which solves various small issues -

                                  -
                                • -
                                • -

                                  -When yanking a mailto: link via hints, the mailto: prefix is now stripped -

                                  -
                                • -
                                • -

                                  -Zoom level messages are now not stacked on top of each other anymore -

                                  -
                                • -
                                • -

                                  -qutebrowser now automatically uses QtWebEngine if QtWebKit is unavailable -

                                  -
                                • -
                                • -

                                  -:history-clear now asks for a confirmation, unless it’s run with --force. -

                                  -
                                • -
                                • -

                                  -input -> mouse-zoom-divider can now be 0 to disable zooming by mouse wheel -

                                  -
                                • -
                                • -

                                  -network -> proxy can also be set to pac+file://... now to - use a local proxy autoconfig file (on QtWebKit) -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -(QtWebKit) Various rarely customized settings were removed: -

                                  -
                                • -
                                • -

                                  -ui -> css-media-type (defaults to desktop) -

                                  -
                                • -
                                • -

                                  -general -> site-specific-quirks (now always turned on) -

                                  -
                                • -
                                • -

                                  -storage -> offline-storage-default-quota (defaults to 5MB) -

                                  -
                                • -
                                • -

                                  -storage -> offline-web-application-cache-quota (defaults to no quota) -

                                  -
                                • -
                                • -

                                  -storage -> object-cache-capacities (default depends on disk space) -

                                  -
                                • -
                                • -

                                  -content -> css-regions (now always turned off) -

                                  -
                                • -
                                • -

                                  -storage -> offline-storage-database (merged into storage -> local-storage) -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Various bugs with Qt 5.8 and QtWebEngine: -

                                  -
                                    -
                                  • -

                                    -Segfault when closing a window -

                                    -
                                  • -
                                  • -

                                    -Segfault when closing a tab with a search active -

                                    -
                                  • -
                                  • -

                                    -Fixed various mouse actions (like automatically entering insert mode) not working -

                                    -
                                  • -
                                  • -

                                    -Fixed hints sometimes not working -

                                    -
                                  • -
                                  • -

                                    -Segfault when opening a URL after a QtWebEngine renderer process crash -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -Other QtWebEngine fixes: -

                                  -
                                    -
                                  • -

                                    -Insert mode now gets entered correctly with a non-100% zoom -

                                    -
                                  • -
                                  • -

                                    -Crash reports are now re-enabled when using QtWebEngine -

                                    -
                                  • -
                                  • -

                                    -Fixed crashes when closing tabs while hinting -

                                    -
                                  • -
                                  • -

                                    -Using :undo or :tab-clone with a view-source:// or chrome:// tab is now prevented, as it segfaults -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -:enter-mode now refuses to enter modes which can’t be entered manually (which caused crashes) -

                                  -
                                • -
                                • -

                                  -:record-macro (q) now doesn’t try to record macros for special keys without a text -

                                  -
                                • -
                                • -

                                  -Fixed PAC (proxy autoconfig) not working with QtWebKit -

                                  -
                                • -
                                • -

                                  -:download --mhtml now uses the new file dialog -

                                  -
                                • -
                                • -

                                  -Word hints are now upper-cased correctly when hints → uppercase is true -

                                  -
                                • -
                                • -

                                  -Font validation is now more permissive in the config, allowing e.g. "Terminus - (TTF)" as font name -

                                  -
                                • -
                                • -

                                  -Fixed starting on newer PyQt/sip versions with LibreSSL -

                                  -
                                • -
                                • -

                                  -When downloading files with QtWebKit, a User-Agent header is set when possible -

                                  -
                                • -
                                • -

                                  -Fixed showing of keybindings in the :help completion -

                                  -
                                • -
                                • -

                                  -:navigate prev/next now detects rel attributes on <a> elements, and - handles multiple rel attributes correctly -

                                  -
                                • -
                                • -

                                  -Fixed a crash when hinting with target userscript and spawning a non-existing script -

                                  -
                                • -
                                • -

                                  -Lines in Jupyter notebook now trigger insert mode -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.9.1

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Prevent websites from downloading files to a location outside of the download - folder with QtWebEngine. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.9.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -New dependency: qutebrowser now depends on the Qt QML module, which is - packaged separately in some distributions (as Qt Declarative/QML/Quick). -

                                  -
                                • -
                                • -

                                  -New :rl-backward-kill-word command which does what :rl-unix-word-rubout - did before v0.8.0. -

                                  -
                                • -
                                • -

                                  -New :rl-unix-filename-rubout command which is similar to readline’s - unix-filename-rubout. -

                                  -
                                • -
                                • -

                                  -New fonts -> completion.category setting to customize the font used for - completion category headers. -

                                  -
                                • -
                                • -

                                  -New :debug-log-capacity command to adjust how many lines are logged into RAM - (to report bugs which are difficult to reproduce). -

                                  -
                                • -
                                • -

                                  -New hide-unmatched-rapid-hints option to not hide hint unmatched hint labels - in rapid mode. -

                                  -
                                • -
                                • -

                                  -New {clipboard} and {primary} replacements for the commandline which - replace the :paste command. -

                                  -
                                • -
                                • -

                                  -New :insert-text command to insert a given text into a field on the page, - which replaces :paste-primary together with the {primary} replacement. -

                                  -
                                • -
                                • -

                                  -New :window-only command to close all other windows. -

                                  -
                                • -
                                • -

                                  -New prev-category and next-category arguments to :completion-item-focus - to focus the previous/next category in the completion (bound to <Ctrl-Tab> - and <Ctrl-Shift-Tab> by default). -

                                  -
                                • -
                                • -

                                  -New :click-element command to fake a click on a element. -

                                  -
                                • -
                                • -

                                  -New :debug-log-filter command to change console log filtering on-the-fly. -

                                  -
                                • -
                                • -

                                  -New :debug-log-level command to change the console loglevel on-the-fly. -

                                  -
                                • -
                                • -

                                  -New general -> yank-ignored-url-parameters option to configure which URL - parameters (like utm_source etc.) to strip off when yanking an URL. -

                                  -
                                • -
                                • -

                                  -Support for the - HTML5 page visibility API -

                                  -
                                • -
                                • -

                                  -New readability userscript which shows a readable version of a page (using - the readability-lxml python package) -

                                  -
                                • -
                                • -

                                  -New cast userscript to show a video on a Google Chromecast -

                                  -
                                • -
                                • -

                                  -New :run-with-count command which replaces the (undocumented) :count:command syntax. -

                                  -
                                • -
                                • -

                                  -New :record-macro (q) and :run-macro (@) commands for keyboard macros. -

                                  -
                                • -
                                • -

                                  -New ui -> hide-scrollbar setting to hide the scrollbar independently of the - user-stylesheet setting. -

                                  -
                                • -
                                • -

                                  -New general -> default-open-dispatcher setting to configure what to open - downloads with (instead of e.g. xdg-open on Linux). -

                                  -
                                • -
                                • -

                                  -Support for PAC (proxy autoconfig) with QtWebKit -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -Hints are now drawn natively in Qt instead of using web elements. This has a - few implications for users: -

                                  -
                                    -
                                  • -

                                    -The hints -> opacity setting does not exist anymore, but you can use - rgba(r, g, b, alpha) colors instead for colors -> hints.bg. -

                                    -
                                  • -
                                  • -

                                    -The hints -> font setting is not affected by - fonts -> web-family-fixed anymore. Thus, a transformer got added to - change Monospace to ${_monospace}. -

                                    -
                                  • -
                                  • -

                                    -Gradients in hint colors can now be configured by using qlineargradient - and friends instead of -webkit-gradient. The most common cases get - migrated automatically, but if you drastically changed the defaults, - you’ll need to manually adjust your config. -

                                    -
                                  • -
                                  • -

                                    -Styling hints by styling qutehint elements in user-stylesheet was - never officially supported and does not work anymore. -

                                    -
                                  • -
                                  • -

                                    -Hints are now not affected by the page’s stylesheet or zoom anymore. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -:bookmark-add now has a --toggle flag which deletes the bookmark if it - already exists. -

                                  -
                                • -
                                • -

                                  -:bookmark-load now has a --delete flag which deletes the bookmark after - loading it. -

                                  -
                                • -
                                • -

                                  -:open now also accepts quickmark names instead of URLs -

                                  -
                                • -
                                • -

                                  -:tab-move now optionally takes an index for absolute moving. -

                                  -
                                • -
                                • -

                                  -Commands taking either an argument or a count (like :zoom or :tab-focus) - now prefer the count instead of showing an error message. -

                                  -
                                • -
                                • -

                                  -:open now has an --implicit argument to treat the opened tab as implicit - (i.e. to open it at the position it would be opened if it was a clicked link) -

                                  -
                                • -
                                • -

                                  -:download-open and :prompt-open-download now have an optional cmdline - argument to pass a commandline to open the download with. -

                                  -
                                • -
                                • -

                                  -:yank now has a position argument to select what to yank instead of using - flags. -

                                  -
                                • -
                                • -

                                  -Replacements like {url} can now also be used in the middle of an argument. - Consequently, commands taking another command (:later, :repeat and - :bind) now don’t immediately evaluate variables. -

                                  -
                                • -
                                • -

                                  -Tab titles in the :buffer completion now update correctly when a page’s - title is changed via javascript. -

                                  -
                                • -
                                • -

                                  -:hint now has a --mode <mode> flag to override the hint mode configured - using the hints -> mode setting. -

                                  -
                                • -
                                • -

                                  -With new-instance-open-target set to a tab option, the tab is now opened in - the most recently focused (instead of the last opened) window. This can be - configured with the new new-instance-open-target.window setting. - It can also be set to last-visible to show the pages in the most recently - visible window, or first-opened to use the first (oldest) available window. -

                                  -
                                • -
                                • -

                                  -Word hints now are more clever about getting the element text from some elements. -

                                  -
                                • -
                                • -

                                  -Completions for :help and :bind now also show hidden commands -

                                  -
                                • -
                                • -

                                  -The :buffer completion now also filters using the first column (id). -

                                  -
                                • -
                                • -

                                  -:undo has been improved to reopen tabs at the position they were closed. -

                                  -
                                • -
                                • -

                                  -:navigate now takes a count for up/increment/decrement. -

                                  -
                                • -
                                • -

                                  -The hints -> auto-follow setting now can be set to - always/full-match/unique-match/never to more precisely control when - hints should be followed automatically. -

                                  -
                                • -
                                • -

                                  -Counts can now be used with special keybindings (e.g. with modifiers). - This was already implemented for v0.7.0 originally, but got reverted because - it caused some issues and then never re-applied. -

                                  -
                                • -
                                • -

                                  -Sending a command to an existing instance (via "qutebrowser :reload") now - doesn’t mark it as urgent anymore. -

                                  -
                                • -
                                • -

                                  -tabs -> title-format now treats an empty string as valid. -

                                  -
                                • -
                                • -

                                  -Bindings for :, / and ? are now configured explicitly and not hardcoded - anymore. -

                                  -
                                • -
                                • -

                                  -The completion -> show setting can now be set to always, auto or - never. -

                                  -
                                • -
                                • -

                                  -:open-editor can now be used in any mode. -

                                  -
                                • -
                                • -

                                  -Lots of improvements to and bugfixes for the QtWebEngine backend, such as - working hints. However, using qutebrowser directly from git is still advised - when using --backend webengine. -

                                  -
                                • -
                                • -

                                  -content -> javascript-can-open-windows got renamed to - javascript-can-open-windows-automatically. -

                                  -
                                • -
                                • -

                                  -:prompt-accept now optionally accepts a value which overrides the one - entered in the input box. yes and no can be used as values for yes/no - questions. -

                                  -
                                • -
                                • -

                                  -The new --qt-arg and --qt-flag arguments can be used to pass - arguments/flags to Qt’s commandline. -

                                  -
                                • -
                                • -

                                  -Error/warning/info messages are now shown stacked above the statusbar. - This also added various new settings: -

                                  -
                                    -
                                  • -

                                    -colors -> messages.fg.error (renamed from statusbar.fg.error) -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.bg.error (renamed from statusbar.bg.error) -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.border.error -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.fg.warning (renamed from statusbar.fg.warning) -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.bg.warning (renamed from statusbar.bg.warning) -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.border.warning -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.fg.info -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.bg.info -

                                    -
                                  • -
                                  • -

                                    -colors -> messages.border.info -

                                    -
                                  • -
                                  • -

                                    -fonts -> messages.error -

                                    -
                                  • -
                                  • -

                                    -fonts -> messages.warning -

                                    -
                                  • -
                                  • -

                                    -fonts -> messages.info -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -The qute:settings page now also shows option descriptions. -

                                  -
                                • -
                                • -

                                  -qute:version and qutebrowser --version now show various important paths -

                                  -
                                • -
                                • -

                                  -:spawn/userscripts now show a nicer error when a script wasn’t found -

                                  -
                                • -
                                • -

                                  -Various functionality now works when javascript is disabled with QtWebKit -

                                  -
                                • -
                                • -

                                  -Various commands/settings taking left/right/previous arguments now take - prev/next/last-used to remove ambiguity. -

                                  -
                                • -
                                • -

                                  -The ui -> user-stylesheet setting now only takes filenames, not CSS snippets -

                                  -
                                • -
                                • -

                                  -ui -> window-title-format now has a new `xhtml11 ` replacement -

                                  -
                                • -
                                • -

                                  -:hint has a new --add-history argument to add the URL to the history for - yank/spawn targets. -

                                  -
                                • -
                                • -

                                  -:set now cycles through values if more than one argument is given. -

                                  -
                                • -
                                • -

                                  -:open now opens default-page without an URL even without -t/-b/-w given. -

                                  -
                                • -
                                -
                                -
                                -

                                Deprecated

                                -
                                  -
                                • -

                                  -The :paste command got deprecated as :open with {clipboard} and - {primary} can be used instead. -

                                  -
                                • -
                                • -

                                  -The :paste-primary command got deprecated as :insert-text {primary} can - be used instead. -

                                  -
                                • -
                                • -

                                  -The :prompt-yes and :prompt-no commands got deprecated as - :prompt-accept yes and :prompt-accept no can be used instead. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -The :yank-selected command got merged into :yank as :yank selection - and thus removed. -

                                  -
                                • -
                                • -

                                  -The :completion-item-prev and :completion-item-next commands got merged - into a new :completion-focus {prev,next} command and thus removed. -

                                  -
                                • -
                                • -

                                  -The ui -> hide-mouse-cursor setting since it was completely broken and - nobody seemed to care. -

                                  -
                                • -
                                • -

                                  -The hints -> opacity setting - see the "Changed" section for details. -

                                  -
                                • -
                                • -

                                  -The completion -> auto-open setting got merged into completion -> show and - thus removed. -

                                  -
                                • -
                                • -

                                  -All --qt-* arguments got replaced by --qt-arg and --qt-flag and thus - removed. -

                                  -
                                • -
                                • -

                                  -The -c/--confdir, --datadir and --cachedir arguments got removed, as - --basedir should be sufficient. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -:undo now doesn’t undo tabs "closed" by :tab-detach anymore. -

                                  -
                                • -
                                • -

                                  -Fixed an issue with hint chars not being cleared correctly when leaving hint - mode. -

                                  -
                                • -
                                • -

                                  -:tab-detach now fails correctly when there’s only one tab open. -

                                  -
                                • -
                                • -

                                  -Various small issues with the command completion -

                                  -
                                • -
                                • -

                                  -Fixed hang when using multiple spaces in a row with the URL completion -

                                  -
                                • -
                                • -

                                  -qutebrowser now still starts with an incorrectly configured - $XDG_RUNTIME_DIR. -

                                  -
                                • -
                                • -

                                  -Fixed crash when a userscript writes invalid unicode data to the FIFO -

                                  -
                                • -
                                • -

                                  -Fixed crash when a included HTML was not found -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.8.3

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed crash when doing :<space><enter>, another corner-case introduced in v0.8.0 -

                                  -
                                • -
                                • -

                                  -Fixed :open-editor (<Ctrl-e>) on Windows -

                                  -
                                • -
                                • -

                                  -Fixed crash when setting general -> auto-save-interval to a too big value. -

                                  -
                                • -
                                • -

                                  -Fixed crash when using hints on Void Linux. -

                                  -
                                • -
                                • -

                                  -Fixed compatibility with Python 3.5.2+ on Debian unstable -

                                  -
                                • -
                                • -

                                  -Compatibility with pdfjs v1.6.210 -

                                  -
                                • -
                                • -

                                  -:bind can now be used to bind to an alias (binding by editing keys.conf - already worked before) -

                                  -
                                • -
                                • -

                                  -The command completion now updates correctly when changing aliases -

                                  -
                                • -
                                • -

                                  -The tabbar now displays correctly with the Adwaita Qt theme -

                                  -
                                • -
                                • -

                                  -The default sk keybinding now sets the commandline to :bind correctly -

                                  -
                                • -
                                • -

                                  -Fixed crash when closing a window without focusing it -

                                  -
                                • -
                                • -

                                  -Userscripts now can access QUTE_FIFO correctly on Windows -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.8.2

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed general -> private-browsing not being set correctly until a restart - (which caused e.g. local storage to be enabled). -

                                  -
                                • -
                                • -

                                  -When hinting input fields (:t), also consider input elements without a type. -

                                  -
                                • -
                                • -

                                  -Fixed crash when opening an invalid URL with a percent-encoded and a real @ in it -

                                  -
                                • -
                                • -

                                  -Fixed default ;o and ;O bindings -

                                  -
                                • -
                                • -

                                  -Fixed local storage not working (and possible other bugs) when using a - relative path with --basedir. -

                                  -
                                • -
                                • -

                                  -Fixed crash when deleting a quickmark with Ctrl-D -

                                  -
                                • -
                                • -

                                  -Fixed HTML5 video playback on Windows -

                                  -
                                • -
                                • -

                                  -Fixed crash when using ‘:prompt-open-download` with a file with chars not - encodable with the OS’ filesystem encoding (e.g. with LC_ALL=C) -

                                  -
                                • -
                                • -

                                  -Fixed :prompt-open-download with a too long filename (> 255 bytes) -

                                  -
                                • -
                                • -

                                  -Fixed crash when cancelling a download after doing :prompt-open-download -

                                  -
                                • -
                                • -

                                  -Fixed crash when writing a download to disk fails with - :prompt-open-download. -

                                  -
                                • -
                                • -

                                  -Fixed :restart deleting the basedir when it was given with --basedir. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.8.1

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fix crash when pressing enter without a command -

                                  -
                                • -
                                • -

                                  -Adjust error message to point out QtWebEngine is unsupported with the OS - X .app currently. -

                                  -
                                • -
                                • -

                                  -Hide Harfbuzz warning with the macOS .app -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.8.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -New :repeat-command command (mapped to .) to repeat the last command. - Note that two former default bundings conflict with that binding, unbinding - them via :unbind .i and :unbind .o is recommended. -

                                  -
                                • -
                                • -

                                  -New qute:bookmarks page which displays all bookmarks and quickmarks. -

                                  -
                                • -
                                • -

                                  -New :prompt-open-download (bound to Ctrl-X) which can be used to open a - download directly when getting the filename prompt. -

                                  -
                                • -
                                • -

                                  -New {host} replacement for tab- and window titles which evaluates - to the current host. -

                                  -
                                • -
                                • -

                                  -New default binding ;t for :hint input. -

                                  -
                                • -
                                • -

                                  -New variables $QUTE_CONFIG_DIR, $QUTE_DATA_DIR and - $QUTE_DOWNLOAD_DIR available for userscripts. -

                                  -
                                • -
                                • -

                                  -New option uistatus-position to configure the position of the - status bar (top/bottom). -

                                  -
                                • -
                                • -

                                  -New --pdf <filename> argument for :print WHICH can be used to generate a - PDF without a dialog. -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -:scroll-perc now prefers a count over the argument given to it, which means - gg can be used with a count. -

                                  -
                                • -
                                • -

                                  -Aliases can now use ;; to have an alias which executed multiple commands. -

                                  -
                                • -
                                • -

                                  -:edit-url now does nothing if the URL isn’t changed in the spawned editor. -

                                  -
                                • -
                                • -

                                  -:bookmark-add can now be passed a URL and title to add that as a bookmark - rather than the current page. -

                                  -
                                • -
                                • -

                                  -New taskadd userscript to add a taskwarrior task annotated with the - current URL. -

                                  -
                                • -
                                • -

                                  -:bookmark-del and :quickmark-del now delete the current page’s URL if none - is given. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                Fixed

                                -
                                -
                                  -
                                • -

                                  -Compatibility with PyQt 5.7 -

                                  -
                                • -
                                • -

                                  -Fixed some configuration values being lost when a config option gets removed - from qutebrowser’s code. -

                                  -
                                • -
                                • -

                                  -Fix crash when downloading with a full disk -

                                  -
                                • -
                                • -

                                  -Using :jump-mark (e.g. '') when the current URL is invalid doesn’t crash - anymore. -

                                  -
                                • -
                                -
                                -
                                -
                                -

                                Removed

                                -
                                -
                                  -
                                • -

                                  -The ability to display status messages from webpages, as well as the related - ui -> display-statusbar-messages setting. -

                                  -
                                • -
                                • -

                                  -The general -> wrap-search setting as searches now always wrap. - According to a quick straw poll and prior crash logs, almost nobody is using - wrap-search = false, and turning off wrapping is not possible with - QtWebEngine. -

                                  -
                                • -
                                • -

                                  -:edit-url now doesn’t accept a count anymore as its behavior was confusing - and it doesn’t make much sense to add a count. -

                                  -
                                • -
                                -
                                -
                                -
                                -

                                v0.7.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -New :edit-url command to edit the URL in an external editor. -

                                  -
                                • -
                                • -

                                  -New network -> custom-headers setting to send custom headers with every request. -

                                  -
                                • -
                                • -

                                  -New {url:pretty} commandline replacement which gets replaced by the decoded URL. -

                                  -
                                • -
                                • -

                                  -New marks to remember a scroll position: -

                                  -
                                • -
                                • -

                                  -New :jump-mark command to jump to a mark, bound to ' -

                                  -
                                • -
                                • -

                                  -New :set-mark command to set a mark, bound to ```(backtick) -

                                  -
                                • -
                                • -

                                  -The ' mark gets set when moving away (hinting link with anchor, searching, etc.) so you can move back with '' -

                                  -
                                • -
                                • -

                                  -New --force-color argument to force colored logging even if stdout is not a - terminal -

                                  -
                                • -
                                • -

                                  -New :messages command to show error messages -

                                  -
                                • -
                                • -

                                  -New pop-up showing possible keybinding when the first key of a keychain is - pressed. This can be turned off using :set ui keyhint-blacklist *. -

                                  -
                                • -
                                • -

                                  -New hints -> auto-follow-timeout setting to ignore keypresses after - following a hint when filtering in number mode. -

                                  -
                                • -
                                • -

                                  -New :history-clear command to clear the entire history -

                                  -
                                • -
                                • -

                                  -New hints -> find-implementation to select which implementation (JS/Python) - should be used to find hints on a page. The javascript implementation is - better, but slower. -

                                  -
                                • -
                                • -

                                  -New inputs group for :hint to hint text input fields. -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -qutebrowser got a new (slightly updated) logo -

                                  -
                                • -
                                • -

                                  -:tab-focus can now take a negative index to focus the nth tab counted from - the right. -

                                  -
                                • -
                                • -

                                  -:yank can now yank the pretty/decoded URL by adding --pretty -

                                  -
                                • -
                                • -

                                  -:navigate now clears the URL fragment -

                                  -
                                • -
                                • -

                                  -:completion-item-del (Ctrl-D) can now be used in :buffer completion to - close a tab -

                                  -
                                • -
                                • -

                                  -Various SSL ciphers are now disabled by default. With recent Qt/OpenSSL - versions those already all are disabled, but with older versions they might - not be. -

                                  -
                                • -
                                • -

                                  -Show favicons as window icon with tabs-are-windows set. -

                                  -
                                • -
                                • -

                                  -:bind <key> without a command now shows the existing binding -

                                  -
                                • -
                                • -

                                  -The optional colorlog dependency got removed, as qutebrowser now displays - colored logs without it. -

                                  -
                                • -
                                • -

                                  -URLs are now shown decoded when hovering. -

                                  -
                                • -
                                • -

                                  -Keybindings are now shown in the command completion -

                                  -
                                • -
                                • -

                                  -Improved behavior when pasting multiple lines -

                                  -
                                • -
                                • -

                                  -Rapid hints can now also be used for the normal hint target, which can be - useful with javascript click handlers or checkboxes which don’t actually open - a new page. -

                                  -
                                • -
                                • -

                                  -:zoom-in or :zoom-out (+/-) with a too large count now zooms to the - smallest/largest zoom instead of doing nothing. -

                                  -
                                • -
                                • -

                                  -The commandline now accepts partially typed commands if they’re unique. -

                                  -
                                • -
                                • -

                                  -Number hints are now kept filtered after following a hint in rapid mode. -

                                  -
                                • -
                                • -

                                  -Number hints are now renumbered after filtering -

                                  -
                                • -
                                • -

                                  -Number hints can now be filtered with multiple space-separated search terms -

                                  -
                                • -
                                • -

                                  -hints -> scatter is now ignored for number hints -

                                  -
                                • -
                                • -

                                  -Better history implementation which also stores titles. - As a consequence, URLs which redirect to another URL are now added to the - history too, marked with a -r suffix to the timestamp field. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                Fixed

                                -
                                -
                                  -
                                • -

                                  -Fixed using :hint links spawn with flags - you can now use things like the - -v argument for :spawn or pass flags to the spawned commands. -

                                  -
                                • -
                                • -

                                  -Various fixes for hinting corner-cases where following a link didn’t work or - the hint was drawn at the wrong position. -

                                  -
                                • -
                                • -

                                  -Fixed crash when downloading from a URL with SSL errors -

                                  -
                                • -
                                • -

                                  -Close file handles correctly when a download failed -

                                  -
                                • -
                                • -

                                  -Fixed crash when using ;Y (:hint links yank-primary) on a system without - primary selection -

                                  -
                                • -
                                • -

                                  -Don’t display quit confirmation with finished downloads -

                                  -
                                • -
                                • -

                                  -Fixed updating the tab index in the statusbar when opening a background tab -

                                  -
                                • -
                                • -

                                  -Fixed a crash when entering `:-- ` in the commandline -

                                  -
                                • -
                                • -

                                  -Fixed :debug-console with PyQt 5.6 -

                                  -
                                • -
                                • -

                                  -Fixed qutebrowser not starting when sys.stderr is None -

                                  -
                                • -
                                • -

                                  -Fixed crash when cancelling a download which belongs to an MHTML download -

                                  -
                                • -
                                • -

                                  -Fixed rebinding of keybindings being case-sensitive -

                                  -
                                • -
                                • -

                                  -Fix for tab indicators getting lost when moving tabs -

                                  -
                                • -
                                • -

                                  -Fixed handling of backspace in number hinting mode -

                                  -
                                • -
                                • -

                                  -Fixed FileNotFoundError when starting in some cases on old Qt versions -

                                  -
                                • -
                                • -

                                  -Fixed sharing of cookies between tabs when private-browsing is enabled -

                                  -
                                • -
                                • -

                                  -Toggling values with :set now uses lower-case values -

                                  -
                                • -
                                • -

                                  -Hints now work with (non-standard) links with spaces around the URL -

                                  -
                                • -
                                • -

                                  -Strip off trailing spaces for history entries with no title -

                                  -
                                • -
                                -
                                -
                                -
                                -

                                v0.6.2

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed crash when using :tab-{prev,next,focus} right after closing the last - tab with last-close set to close. -

                                  -
                                • -
                                • -

                                  -Fixed crash when doing :undo in a new instance with tabs -> last-close set - to default-page. -

                                  -
                                • -
                                • -

                                  -Fixed crash when starting with --cachedir="" -

                                  -
                                • -
                                • -

                                  -Fixed crash in some circumstances when using dictionary hints -

                                  -
                                • -
                                • -

                                  -Fixed various crashes related to PyQt 5.6 -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.6.1

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed broken cheatsheet image which was missing from package -

                                  -
                                • -
                                • -

                                  -Fixed occasional crash when switching/disconnecting monitors -

                                  -
                                • -
                                • -

                                  -Fixed crash when downloading non-ascii files with a broken locale (LC_ALL=C) -

                                  -
                                • -
                                • -

                                  -Added workaround for a Qt/PyQt bug which is too weird to describe here -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.6.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -New :buffer command to easily switch tabs by name. This is not bound to a - key by default for existing users due to a conflict with the gt/gT - bindings (which are now removed from the default bindings). - You can bind it by hand by running :bind -f gt set-cmd-text -s :buffer. -

                                  -
                                • -
                                • -

                                  -New --quiet argument for the :debug-pyeval command to not open a tab with - the results. Note :debug-pyeval is still only intended for debugging. -

                                  -
                                • -
                                • -

                                  -The completion now matches each entered word separately. -

                                  -
                                • -
                                • -

                                  -A new command :paste-primary got added to paste the primary selection, and - <Shift-Insert> got added as a binding so it pastes primary rather than - clipboard. -

                                  -
                                • -
                                • -

                                  -New mode word for hints -> mode which uses a dictionary and link-texts - for hints instead of single characters. -

                                  -
                                • -
                                • -

                                  -New --all argument for :download-cancel to cancel all running downloads. -

                                  -
                                • -
                                • -

                                  -New password_fill userscript to fill passwords using the pass executable. -

                                  -
                                • -
                                • -

                                  -New current hinting mode which forces opening hints in the current tab - (even with target="_blank") -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -Pasting multiple lines via :paste now opens each line in a new tab. -

                                  -
                                • -
                                • -

                                  -:navigate increment/decrement now preserves leading zeroes in URLs. -

                                  -
                                • -
                                • -

                                  -general -> editor can now also handle {} inside another argument (e.g. to open vim via termite) -

                                  -
                                • -
                                • -

                                  -Improved performance when scrolling with many tabs open. -

                                  -
                                • -
                                • -

                                  -Shift-Insert now also pastes primary selection for prompts. -

                                  -
                                • -
                                • -

                                  -:download-remove --all got un-deprecated to provide symmetry with - :download-cancel --all. It does the same as :download-clear. -

                                  -
                                • -
                                • -

                                  -Improved detection of URLs/search terms when pasting multiple lines. -

                                  -
                                • -
                                • -

                                  -Don’t remove qutebrowser-editor-* temporary file if editor subprocess crashed -

                                  -
                                • -
                                • -

                                  -Userscripts are also searched in /usr/share/qutebrowser/userscripts. -

                                  -
                                • -
                                • -

                                  -Blocked hosts are now also read from a blocked-hosts file in the config dir - (e.g. ~/.config/qutebrowser/blocked-hosts). -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed starting with -c "". -

                                  -
                                • -
                                • -

                                  -Fixed crash when a tab is closed twice via javascript (e.g. Dropbox - authentication dialogs) -

                                  -
                                • -
                                • -

                                  -Fixed crash when a notification/geolocation prompt is answered after closing - the tab it belongs to. -

                                  -
                                • -
                                • -

                                  -Fixed crash when downloading a file without any path information (e.g a - magnet link). -

                                  -
                                • -
                                • -

                                  -Fixed crashes when opening an empty URL (e.g. via pasting). -

                                  -
                                • -
                                • -

                                  -Fixed validation of duplicate values in hints -> chars. -

                                  -
                                • -
                                • -

                                  -Fixed crash when PDF.js was partially installed. -

                                  -
                                • -
                                • -

                                  -Fixed crash when XDG_DOWNLOAD_DIR was not an absolute path. -

                                  -
                                • -
                                • -

                                  -Fixed very long filenames when downloading data://-URLs. -

                                  -
                                • -
                                • -

                                  -Fixed ugly UI fonts on Windows when Liberation Mono is installed -

                                  -
                                • -
                                • -

                                  -Fixed crash when unbinding key from a section which doesn’t exist in the config -

                                  -
                                • -
                                • -

                                  -Fixed report window after a segfault -

                                  -
                                • -
                                • -

                                  -Fixed some directory browser issues on Windows -

                                  -
                                • -
                                • -

                                  -Fixed crash when closing a window with a finished download and delayed - remove-finished-downloads setting. -

                                  -
                                • -
                                • -

                                  -Fixed crash when hitting <Tab> then <Ctrl-C> on pages without keyboard - focus. -

                                  -
                                • -
                                • -

                                  -Fixed "Frame load interrupted by policy change" error showing up when - downloading files with Qt 5.6. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -The gt/gT bindings (luakit-like alternatives to J/K) were removed - (except for existing configs) to make room for the gt binding to show - buffers. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.5.1

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed completion for various config values when using :set. -

                                  -
                                • -
                                • -

                                  -Fixed config validation for various config values. -

                                  -
                                • -
                                • -

                                  -Prevented an error being logged when a website with HTTP authentication was - opened on Windows. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.5.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -Ability to preview PDFs using pdf.js in the browser if it’s installed. This - is disabled by default and can be enabled using the - content -> pdfjs-enabled setting. -

                                  -
                                • -
                                • -

                                  -New setting ui -> hide-wayland-decoration to hide the window decoration - when using wayland. -

                                  -
                                • -
                                • -

                                  -New userscripts in misc/userscripts: -

                                  -
                                • -
                                • -

                                  -open_download to easily open a file in your downloads folder. -

                                  -
                                • -
                                • -

                                  -view_in_mpv to open a video in mpv and remove it from the page. -

                                  -
                                • -
                                • -

                                  -qutedmenu and dmenu_qutebrowser to select URLs via dmenu -

                                  -
                                • -
                                • -

                                  -New setting content -> host-blocking-whitelist to whitelist certain domains - from the adblocker. -

                                  -
                                • -
                                • -

                                  -{scroll_pos} can now be used in ui -> window-title-format and - tabs -> title-format. -

                                  -
                                • -
                                • -

                                  -New setting general -> url-incdec-segments to configure which segments of - the URL should be affected by :navigate increment/decrement. -

                                  -
                                • -
                                • -

                                  -New --target argument to specify how URLs should be opened in an existing - instance. -

                                  -
                                • -
                                • -

                                  -New setting statusbar.url.fg.success.https to set the foreground color for - the URL when a page was loaded via HTTPS. -

                                  -
                                • -
                                • -

                                  -The scrollbar in the completion is now styled, and the following new options - got added: -

                                  -
                                    -
                                  • -

                                    -completion -> scrollbar-width -

                                    -
                                  • -
                                  • -

                                    -completion -> scrollbar-padding -

                                    -
                                  • -
                                  • -

                                    -colors -> completion.scrollbar.fg -

                                    -
                                  • -
                                  • -

                                    -colors -> completion.scrollbar.bg -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New value none for options taking a color system so they don’t display a - gradient: -

                                  -
                                    -
                                  • -

                                    -colors -> tabs.indicator.system -

                                    -
                                  • -
                                  • -

                                    -colors -> downloads.fg.system -

                                    -
                                  • -
                                  • -

                                    -colors -> downloads.bg.system -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New command :download-retry to retry a failed download. -

                                  -
                                • -
                                • -

                                  -New command :download-clear which replaces :download-remove --all. -

                                  -
                                • -
                                • -

                                  -:set-cmd-text has a new --append argument to append to the current - statusbar text. -

                                  -
                                • -
                                • -

                                  -qutebrowser now uses ~/.netrc if available to authenticate via HTTP. -

                                  -
                                • -
                                • -

                                  -New :fake-key command to send a fake keypress to a website or to - qutebrowser. -

                                  -
                                • -
                                • -

                                  -New --mhtml argument for :download to download a page including all - ressources as MHTML file. -

                                  -
                                • -
                                • -

                                  -New option tabs -> title-alignment to change the alignment of tab titles. -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -The colors -> tabs.bg/fg.selected option got split into - tabs.bg/fg.selected.odd/even. -

                                  -
                                • -
                                • -

                                  -:spawn --userscript and :hint with the userscript target now look up - relative paths in ~/.local/share/qutebrowser/userscripts or - $XDG_DATA_DIR. Using a binary in $PATH won’t work anymore with - --userscript. -

                                  -
                                • -
                                • -

                                  -New design for error pages -

                                  -
                                • -
                                • -

                                  -Link filtering for hints now checks if the text is contained anywhere in - the link, and matches case-insensitively. -

                                  -
                                • -
                                • -

                                  -The ui -> remove-finished-downloads option got changed to an integer and - now takes a time (in milliseconds) to keep the download around after it’s - finished. When set to -1, downloads are never removed. -

                                  -
                                • -
                                • -

                                  -The :follow-hint command now optionally takes the keystring of a hint to - follow. -

                                  -
                                • -
                                • -

                                  -:scroll-px now doesn’t take floats anymore, which made little sense. -

                                  -
                                • -
                                • -

                                  -Updated the user agent list for the :set network user-agent completion. -

                                  -
                                • -
                                • -

                                  -Starting with --debug doesn’t log VDEBUG messages anymore (add - --loglevel VDEBUG to get them). -

                                  -
                                • -
                                • -

                                  -:debug-console now hides the console if it’s already shown. -

                                  -
                                • -
                                • -

                                  -:yank-selected now doesn’t log the selected text anymore. -

                                  -
                                • -
                                • -

                                  -general -> log-javascript-console got changed from a boolean to an option - taking a loglevel (none, info, debug). -

                                  -
                                • -
                                • -

                                  -:tab-move +/- now wraps around if tabs -> wrap is true. -

                                  -
                                • -
                                • -

                                  -When a subprocess (like launched by :spawn) fails, its stdout/stderr is now - logged to the console. -

                                  -
                                • -
                                • -

                                  -A search engine name can now contain any non-space character, like dashes. -

                                  -
                                • -
                                -
                                -
                                -

                                Deprecated

                                -
                                  -
                                • -

                                  -:download-remove --all is now deprecated and :download-clear should be - used instead. -

                                  -
                                • -
                                • -

                                  -:download <url> <destination> is now deprecated and - :download --dest <destination> <url> should be used instead. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -:scroll with two pixel-arguments (deprecated in v0.3.0) -

                                  -
                                • -
                                • -

                                  -The :run-userscript command (deprecated in v0.2.0) -

                                  -
                                • -
                                • -

                                  -The rapid and rapid-win targets for :hint (deprecated in v0.2.0) -

                                  -
                                • -
                                • -

                                  -The :cancel-download command (deprecated in v0.2.0) -

                                  -
                                • -
                                • -

                                  -The :download-page command (deprecated in v0.2.0) -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed retrying of downloads which were started in a now closed tab. -

                                  -
                                • -
                                • -

                                  -Fixed displaying of web history if web-history-max-items is set to -1. -

                                  -
                                • -
                                • -

                                  -Cloned tabs now don’t display favicons anymore if show-favicons is False. -

                                  -
                                • -
                                • -

                                  -Fixed a crash when clicking a bookmark name and pressing Ctrl-D. -

                                  -
                                • -
                                • -

                                  -Fixed a crash when a website presents a very small favicon. -

                                  -
                                • -
                                • -

                                  -Fixed prompting for download directory when - storage -> prompt-download-directory was unset. -

                                  -
                                • -
                                • -

                                  -Fixed crash when using :follow-hint outside of hint mode. -

                                  -
                                • -
                                • -

                                  -Fixed crash when using :set foo bar? with invalid section/option. -

                                  -
                                • -
                                • -

                                  -Fixed scrolling to the very left/right with :scroll-perc. -

                                  -
                                • -
                                • -

                                  -Using an external editor should now work correctly with some funny chars - (U+2028/U+2029/BOM). -

                                  -
                                • -
                                • -

                                  -Movements in caret mode now should work correctly on macOS and Windows. -

                                  -
                                • -
                                • -

                                  -Fixed upgrade from earlier config versions. -

                                  -
                                • -
                                • -

                                  -Fixed crash when killing a running userscript. -

                                  -
                                • -
                                • -

                                  -Fixed characters being passed through when shifted with - forward-unbound-keys set to auto. -

                                  -
                                • -
                                • -

                                  -Fixed restarting after a crash is reported. -

                                  -
                                • -
                                • -

                                  -Removed .pyc files accidentally contained in source releases. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.4.1

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Adjusted AppArmor config for the IPC changes in v0.4.0. -

                                  -
                                • -
                                • -

                                  -Fixed atime update frequency for IPC file. -

                                  -
                                • -
                                • -

                                  -Worked around a Qt issue where middle-clicking caused scrolling with a - touchpad to restart at the beginning of the page. -

                                  -
                                • -
                                • -

                                  -The completion -> web-history-max-items setting is now also respected for - items added after starting qutebrowser. -

                                  -
                                • -
                                • -

                                  -Search terms are now shared between different tabs again -

                                  -
                                • -
                                • -

                                  -Tests (a reduced subset of them) now run correctly again when DISPLAY is not - set. -

                                  -
                                • -
                                • -

                                  -Fixed an issue causing qutebrowser to crash with Python 3.5 as soon as an ad - was blocked. -

                                  -
                                • -
                                • -

                                  -Fixed an issue causing qutebrowser to not start with more recent Python 3.4 - versions (e.g. on Debian experimental). -

                                  -
                                • -
                                • -

                                  -Fixed various PendingDeprecationWarnings shown with Python 3.5. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.4.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -New bookmark functionality (similar to quickmarks without a name). -

                                  -
                                    -
                                  • -

                                    -New command :bookmark-add to bookmark the current page (bound to M). -

                                    -
                                  • -
                                  • -

                                    -New command :bookmark-load to load a bookmark (bound to gb/gB/wB). -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New (hidden) command :completion-item-del (bound to <Ctrl-D>) to delete - the current item in the completion (for quickmarks/bookmarks). -

                                  -
                                • -
                                • -

                                  -New settings tabs -> padding and tabs -> indicator-tabbing to control the - size/padding of the tabbar. -

                                  -
                                • -
                                • -

                                  -New setting ui -> statusbar-padding to control the size/padding of the - status bar. -

                                  -
                                • -
                                • -

                                  -New setting network -> referer-header to configure when the referer should - be sent (by default it’s only sent while on the same domain). -

                                  -
                                • -
                                • -

                                  -New setting tabs -> show which supersedes the old tabs -> hide-* options - and has an additional switching option which shows tab while switching - them. There’s also a new show-switching option to configure the timeout. -

                                  -
                                • -
                                • -

                                  -New setting storage -> remember-download-directory to remember the last - used download directory. -

                                  -
                                • -
                                • -

                                  -New setting storage -> prompt-download-directory to download all downloads - without asking. -

                                  -
                                • -
                                • -

                                  -Rapid hinting is now also possible for downloads. -

                                  -
                                • -
                                • -

                                  -Directory browsing via file:// is now supported. -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -Some developer scripts got moved to scripts/dev/ -

                                  -
                                • -
                                • -

                                  -When downloading to a FIFO or special file, a confirmation is displayed as - this might cause qutebrowser to hang. -

                                  -
                                • -
                                • -

                                  -The :yank-selected command now works in all modes instead of just caret - mode and is not hidden anymore. -

                                  -
                                • -
                                • -

                                  -minimal_webkit_testbrowser.py now has a --webengine switch to test - QtWebEngine if it’s installed. -

                                  -
                                • -
                                • -

                                  -The column width percentages for the completion view now depend on the - completion model. -

                                  -
                                • -
                                • -

                                  -The values for tabs -> position and ui -> downloads-position got changed - from north/south/west/`east to top/bottom/left/right. Existing - configs should be adjusted automatically. -

                                  -
                                • -
                                • -

                                  -:tab-focus/gt now behaves like :tab-next if no count/index is given. -

                                  -
                                • -
                                • -

                                  -The completion widget doesn’t show a border anymore. -

                                  -
                                • -
                                • -

                                  -The tabbar doesn’t display ugly arrows anymore if there isn’t enough space - for all tabs. -

                                  -
                                • -
                                • -

                                  -Some insignificant Qt warnings which were printed on macOS are now hidden. -

                                  -
                                • -
                                • -

                                  -Better support for Qt 5.5 and Python 3.5. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fixed a bug where cookies were saved despite qutebrowser being started in - private browsing mode. -

                                  -
                                • -
                                • -

                                  -The local socket used for inter-process communication (opening new instances) - is now ensured to only be accessible by the user on all operating systems. -

                                  -
                                • -
                                • -

                                  -Various corner cases for inter-process communication issues got fixed. -

                                  -
                                • -
                                • -

                                  -link_pyqt.py now should work better on untested distributions. -

                                  -
                                • -
                                • -

                                  -Fixed various corner-cases with crashes when reading invalid config values - and the history file. -

                                  -
                                • -
                                • -

                                  -Fixed various corner-cases when setting text via an external editor. -

                                  -
                                • -
                                • -

                                  -Fixed potential crash when hinting a text field. -

                                  -
                                • -
                                • -

                                  -Fixed entering of insert mode when certain disabled text fields were clicked. -

                                  -
                                • -
                                • -

                                  -Fixed a crash when using :set with -p and ! (invert value) -

                                  -
                                • -
                                • -

                                  -Downloads with unknown size are now handled correctly. -

                                  -
                                • -
                                • -

                                  -:navigate increment/decrement (<Ctrl-A>/<Ctrl-X>) now handles some - corner-cases better. -

                                  -
                                • -
                                • -

                                  -Fixed a bug where the completion got affected by another window’s completion - if it was open in both windows. -

                                  -
                                • -
                                • -

                                  -Fixed a performance issue with large histories when opening previously - unvisited websites. -

                                  -
                                • -
                                • -

                                  -The progress bar now doesn’t cause the statusbar to change it’s height - anymore. -

                                  -
                                • -
                                • -

                                  -~ is now always expanded when spawning a script. -

                                  -
                                • -
                                • -

                                  -Fixed various corner cases when opening links in an existing instance. -

                                  -
                                • -
                                • -

                                  -Fixed a race-condition causing an exception when starting qutebrowser. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -The tabs -> indicator-space setting got removed as the new padding settings - should be used instead. -

                                  -
                                • -
                                • -

                                  -The tabs -> hide-always and tabs -> hide-auto settings got merged into - the new tabs -> show setting. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.3.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -New commands :message-info, :message-error and :message-warning to show messages in the statusbar, e.g. from a userscript. -

                                  -
                                • -
                                • -

                                  -New command :scroll-px which replaces :scroll for pixel-exact scrolling. -

                                  -
                                • -
                                • -

                                  -New command :jseval to run a javascript snippet on the current page. -

                                  -
                                • -
                                • -

                                  -New (hidden) command :follow-selected (bound to Enter/Ctrl-Enter by default) to follow the link which is currently selected (e.g. after searching via /). -

                                  -
                                • -
                                • -

                                  -New (hidden) command :clear-keychain to clear a partially entered keychain (bound to <Escape> by default, in addition to clearing search). -

                                  -
                                • -
                                • -

                                  -New setting ui -> smooth-scrolling. -

                                  -
                                • -
                                • -

                                  -New setting content -> webgl to enable/disable WebGL. -

                                  -
                                • -
                                • -

                                  -New setting content -> css-regions to enable/disable support for CSS Regions. -

                                  -
                                • -
                                • -

                                  -New setting content -> hyperlink-auditing to enable/disable support for hyperlink auditing. -

                                  -
                                • -
                                • -

                                  -New setting tabs -> mousewheel-tab-switching to control mousewheel behavior on the tab bar. -

                                  -
                                • -
                                • -

                                  -New arguments --datadir and --cachedir to set the data/cache location. -

                                  -
                                • -
                                • -

                                  -New arguments --basedir and --temp-basedir (intended for debugging) to set a different base directory for all data, which allows multiple invocations. -

                                  -
                                • -
                                • -

                                  -New argument --no-err-windows to suppress all error windows. -

                                  -
                                • -
                                • -

                                  -New arguments --top-navigate and --bottom-navigate (-t/-b) for :scroll-page to specify a navigation action (e.g. automatically go to the next page when arriving at the bottom). -

                                  -
                                • -
                                • -

                                  -New flag -d/--detach for :spawn to detach the spawned process so it’s not closed when qutebrowser is. -

                                  -
                                • -
                                • -

                                  -New flag -v/--verbose for :spawn to print informations when the process started/exited successfully. -

                                  -
                                • -
                                • -

                                  -Many new color settings (foreground setting for every background setting). -

                                  -
                                • -
                                • -

                                  -New setting ui -> modal-js-dialog to use the standard modal dialogs for javascript questions instead of using the statusbar. -

                                  -
                                • -
                                • -

                                  -New setting colors -> webpage.bg to set the background color to use for websites which don’t set one. -

                                  -
                                • -
                                • -

                                  -New setting completion -> auto-open to only open the completion when tab is pressed (if set to false). -

                                  -
                                • -
                                • -

                                  -New visual/caret mode (bound to v) to select text by keyboard. -

                                  -
                                • -
                                • -

                                  -There are now some example userscripts in misc/userscripts. -

                                  -
                                • -
                                • -

                                  -Support for Qt 5.5 and tox 2.0 -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -Breaking change for userscripts: QUTE_HTML and QUTE_TEXT for userscripts now don’t store the contents directly, and instead contain a filename. -

                                  -
                                • -
                                • -

                                  -The content -> geolocation and notifications settings now support a true value to always allow those. However, this is not recommended. -

                                  -
                                • -
                                • -

                                  -New bindings <Ctrl-R> (rapid), <Ctrl-F> (foreground) and <Ctrl-B> (background) to switch hint modes while hinting. -

                                  -
                                • -
                                • -

                                  -<Ctrl-M> and numpad-enter are now bound by default for bindings where <Return> was bound. -

                                  -
                                • -
                                • -

                                  -:hint tab and F now respect the background-tabs setting. To enforce a foreground tab (what F did before), use :hint tab-fg or ;f. -

                                  -
                                • -
                                • -

                                  -:scroll now takes a direction argument (up/down/left/right/top/bottom/page-up/page-down) instead of two pixel arguments (dx/dy). The old form still works but is deprecated. -

                                  -
                                • -
                                • -

                                  -The ui -> user-stylesheet setting now also takes file paths relative to the config directory. -

                                  -
                                • -
                                • -

                                  -The content -> cookies-accept setting now has new no-3rdparty (default) and no-unknown-3rdparty values to block third-party cookies. The default value got renamed to all. -

                                  -
                                • -
                                • -

                                  -Improved startup time by reading the webpage history while qutebrowser is open. -

                                  -
                                • -
                                • -

                                  -The way :spawn splits its commandline has been changed slightly to allow commands with flags. -

                                  -
                                • -
                                • -

                                  -The default for the new-instance-open-target setting has been changed to tab. -

                                  -
                                • -
                                • -

                                  -Sessions now store zoom/scroll-position separately for each entry. -

                                  -
                                • -
                                -
                                -
                                -

                                Deprecated

                                -
                                  -
                                • -

                                  -:scroll with two pixel-arguments is now deprecated - :scroll-px should be used instead. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -The --no-crash-dialog argument which was intended for debugging only was removed as it’s replaced by --no-err-windows which suppresses all error windows. -

                                  -
                                • -
                                • -

                                  -Support for Qt installations without SSL support was dropped. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Scrolling should now work more reliably on some pages where arrow keys worked but hjkl didn’t. -

                                  -
                                • -
                                • -

                                  -Small improvements when checking if an input is a URL or not. -

                                  -
                                • -
                                • -

                                  -Fixed wrong cursor position when completing the first item in the completion. -

                                  -
                                • -
                                • -

                                  -

                                  -
                                • -
                                • -

                                  -Fixed a bug where the same title was shown for all tabs on some systems. -

                                  -
                                • -
                                • -

                                  -Don’t install the scripts package when installing qutebrowser. -

                                  -
                                • -
                                • -

                                  -Fixed searching for terms starting with a hyphen (e.g. /-foo) -

                                  -
                                • -
                                • -

                                  -Proxy authentication credentials are now remembered between different tabs. -

                                  -
                                • -
                                • -

                                  -Fixed updating of the tab title on pages without title. -

                                  -
                                • -
                                • -

                                  -Fixed AssertionError when closing many windows quickly. -

                                  -
                                • -
                                • -

                                  -Various fixes for deprecated key bindings and auto-migrations. -

                                  -
                                • -
                                • -

                                  -Workaround for qutebrowser not starting when there are NUL-bytes in the history (because of a currently unknown bug). -

                                  -
                                • -
                                • -

                                  -Fixed handling of keybindings containing Ctrl/Meta on macOS. -

                                  -
                                • -
                                • -

                                  -Fixed crash when downloading a URL without filename (e.g. magnet links) via "Save as…". -

                                  -
                                • -
                                • -

                                  -Fixed exception when starting qutebrowser with :set as argument. -

                                  -
                                • -
                                • -

                                  -Fixed horrible completion performance when the shrink option was set. -

                                  -
                                • -
                                • -

                                  -Sessions now store zoom/scroll-position correctly. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.2.1

                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Added missing manpage (doc/qutebrowser.1.asciidoc) to archive. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.2.0

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -Session support -

                                  -
                                    -
                                  • -

                                    -new command :session-load to load a session. -

                                    -
                                  • -
                                  • -

                                    -new command :session-save to save a session. -

                                    -
                                  • -
                                  • -

                                    -new command :session-delete to delete a session. -

                                    -
                                  • -
                                  • -

                                    -new setting general -> save-session to always save the session on quit. -

                                    -
                                  • -
                                  • -

                                    -new setting general -> session-default-name to configure the session name to use if none is given. -

                                    -
                                  • -
                                  • -

                                    -new argument -r/--restore to specify a session to load. -

                                    -
                                  • -
                                  • -

                                    -new argument -R/--override-restore to not load a session even if one was saved. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New commands to manage downloads: -

                                  -
                                    -
                                  • -

                                    -:download to download a URL or the current page. -

                                    -
                                  • -
                                  • -

                                    -:download-cancel to cancel a download. -

                                    -
                                  • -
                                  • -

                                    -:download-delete to delete a download from disk. -

                                    -
                                  • -
                                  • -

                                    -:download-open to open a finished download. -

                                    -
                                  • -
                                  • -

                                    -:download-remove to remove a download from the list. :download-remove --all or the new cd keybinding can be used to clear all finished downloads. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -History completion -

                                  -
                                    -
                                  • -

                                    -New option completion -> timestamp-format to set the format used to display the history timestamps. -

                                    -
                                  • -
                                  • -

                                    -New option completion -> web-history-max-items to configure how many history items to show in the completion. -

                                    -
                                  • -
                                  • -

                                    -The option completion -> history-length for the command history got renamed to cmd-history-max-items. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -Better save logic for the config/state: -

                                  -
                                    -
                                  • -

                                    -Only save files if modified (e.g. don’t overwrite the config if it was edited outside of qutebrowser and nothing was changed in qutebrowser). -

                                    -
                                  • -
                                  • -

                                    -Save things (cookies, config, quickmarks, …) periodically all 15 seconds (time can be changed with the general -> auto-save-interval option). -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -Opera-like mouse rocker gestures -

                                  -
                                    -
                                  • -

                                    -New option input -> rocker-gestures. When turned on, the history can be navigated back/forward by holding a mouse button and pressing the other one. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New -f option for :reload to reload and bypass the cache. -

                                  -
                                • -
                                • -

                                  -Pass more information (QUTE_MODE, QUTE_SELECTED_TEXT, QUTE_SELECTED_HTML, QUTE_USER_AGENT, QUTE_HTML, QUTE_TEXT) to userscripts. -

                                  -
                                • -
                                • -

                                  -New --userscript option to :spawn (which deprecates :run-userscript). -

                                  -
                                • -
                                • -

                                  -Ability to toggle a value to :set by appending a ! to the value. -

                                  -
                                • -
                                • -

                                  -New options to hide the tab-/statusbar: -

                                  -
                                    -
                                  • -

                                    -tabs -> hide-always for the tabbar -

                                    -
                                  • -
                                  • -

                                    -ui -> hide-statusbar for the statusbar -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New options to configure how the tab/window titles should look: -

                                  -
                                    -
                                  • -

                                    -tabs -> title-format for the tabbar -

                                    -
                                  • -
                                  • -

                                    -ui -> window-title-format for the window title -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -HTML5 Geolocation/Notification support: -

                                  -
                                    -
                                  • -

                                    -New option content -> geolocation to permanently turn the geolocation off. -

                                    -
                                  • -
                                  • -

                                    -New option content -> notifications to permanently turn notifications off. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New options to disable javascript prompts/alerts: -

                                  -
                                    -
                                  • -

                                    -content -> ignore-javascript-prompt to turn off prompts. -

                                    -
                                  • -
                                  • -

                                    -content -> ignore-javascript-alerts to turn off alerts. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -Two new options to customize the behavior of hints: -

                                  -
                                    -
                                  • -

                                    -hints -> min-chars to set minimum number of chars in hints. -

                                    -
                                  • -
                                  • -

                                    -hints -> scatter which when turned off distributes the hints sequentially (like dwb) instead of scattering their positions (like Vimium). -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -Make it possible to use :open -[twb] without url. -

                                  -
                                    -
                                  • -

                                    -New option general -> default-page to set the page to be opened when doing that. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New input -> partial-timeout option to clear partial keystrings. -

                                  -
                                • -
                                • -

                                  -New option completion -> download-path-suggestion to configure what to show in the completion for downloads. -

                                  -
                                • -
                                • -

                                  -Queue messages shown in unfocused windows and show them when the window is focused. -

                                  -
                                    -
                                  • -

                                    -New option ui -> message-unfocused to disable this behavior. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New --relaxed-config argument which ignores unknown options. -

                                  -
                                • -
                                • -

                                  -New :tab-detach command to open the current tab in a new window. -

                                  -
                                • -
                                • -

                                  -Zooming via Ctrl-Mousewheel. -

                                  -
                                    -
                                  • -

                                    -New option input -> mouse-zoom-divider to control how much the page is zoomed when rotating the wheel. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -New option (content -> host-blocking-enabled) to enable/disable host blocking. -

                                  -
                                • -
                                • -

                                  -New values tab-bg/tab-bg-silent for new-instance-open-target to open a background tab. -

                                  -
                                • -
                                • -

                                  -New ui -> downloads-position setting to move the downloads to the bottom. -

                                  -
                                • -
                                • -

                                  -New ui -> hide-mouse-cursor option to hide the mouse cursor inside qutebrowser. -

                                  -
                                • -
                                • -

                                  -New argument -s for qutebrowser to set a temporary config option. -

                                  -
                                • -
                                • -

                                  -New argument -p for the :set command to print the new value. -

                                  -
                                • -
                                • -

                                  -New --rapid option to :hint. The rapid/rapid-win targets are now deprecated, and --rapid can be used as well with the targets run/hover/userscript/spawn as well. -

                                  -
                                • -
                                • -

                                  -New -f argument to :bind to overwrite the old binding. -

                                  -
                                • -
                                • -

                                  -New --qt-name argument to qutebrowser which is passed to Qt to set WM_CLASS. -

                                  -
                                • -
                                • -

                                  -Alternating row colors in completion. This adds a new colors -> completion.alternate-bg option. -

                                  -
                                • -
                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -Ignore quotes with maxsplit-commands (:open, :quickmark-load, etc.) and don’t quote arguments for those commands in the completions. This also means some commands needed adjustments: -

                                  -
                                    -
                                  • -

                                    -Clear search when :search without arguments is given. (:search "" will now search for the literal text "") -

                                    -
                                  • -
                                  • -

                                    -Add -s/--space argument to :set-cmd-text (as :set-cmd-text "foo " will now set the literal text "foo ") -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -Ignore ;; for splitting with some commands like :bind. -

                                  -
                                • -
                                • -

                                  -Add unbound (new) default keybindings to config. This also adds a new <unbound> special command. -

                                  -
                                    -
                                  • -

                                    -To unbind a command keybinding without binding it to a new key, you now have to bind it to <unbound> or it’ll be readded automatically. -

                                    -
                                  • -
                                  -
                                • -
                                • -

                                  -If an SSL error is raised multiple times with the same error/certificate/host/scheme/port, the user is only asked once. -

                                  -
                                • -
                                • -

                                  -Jump to last instead of first item when pressing Shift-Tab the first time in the completion. -

                                  -
                                • -
                                • -

                                  -Add a fullscreen keybinding. -

                                  -
                                • -
                                • -

                                  -Add a :search command in addition to /foo so it’s more visible and can be used from scripts. -

                                  -
                                • -
                                • -

                                  -Various improvements to documentation, logging, and the crash reporter. -

                                  -
                                • -
                                • -

                                  -Expand ~ to the users home directory with :run-userscript. -

                                  -
                                • -
                                • -

                                  -Improve the userscript runner on Linux/macOS by using QSocketNotifier. -

                                  -
                                • -
                                • -

                                  -Add luakit-like gt/gT keybindings to cycle through tabs. -

                                  -
                                • -
                                • -

                                  -Show default value for config values in the completion. -

                                  -
                                • -
                                • -

                                  -Clone tab icon, tab text and zoom level when cloning tabs. -

                                  -
                                • -
                                • -

                                  -Don’t open relative file paths with :open, only with commandline arguments. -

                                  -
                                • -
                                • -

                                  -Expand environment variables in config settings which take a file path. -

                                  -
                                • -
                                • -

                                  -Add a list of common user agents to the user agent setting completion. -

                                  -
                                • -
                                • -

                                  -Move cursor to end of textboxes when hinting. -

                                  -
                                • -
                                • -

                                  -Don’t start searches on invalid URLs for quickmarks/startpage. -

                                  -
                                • -
                                • -

                                  -Various performance improvements for the completion. -

                                  -
                                • -
                                • -

                                  -Always open URLs given as argument in the foreground. -

                                  -
                                • -
                                • -

                                  -Improve various error messages. -

                                  -
                                • -
                                • -

                                  -Add startpage/default-page values to tabs -> last-close. -

                                  -
                                • -
                                • -

                                  -Various improvements to :restart - it should be more robust now and uses sessions so all state (focused tab, scroll position, etc.) gets remembered. -

                                  -
                                • -
                                • -

                                  -Add tab index display to the statusbar. -

                                  -
                                • -
                                • -

                                  -Keep progress bar height fixed when the statusbar is multiline. -

                                  -
                                • -
                                • -

                                  -Many improvements to tests and related infrastructure: -

                                  -
                                    -
                                  • -

                                    -init_venv.py and run_checks.py have been replaced by tox. Install tox and run tox -e mkvenv instead. -

                                    -
                                  • -
                                  • -

                                    -The tests now use pytest -

                                    -
                                  • -
                                  • -

                                    -Many new tests added -

                                    -
                                  • -
                                  • -

                                    -Mac Mini buildbot to run the tests on macOS. -

                                    -
                                  • -
                                  • -

                                    -Coverage recording via coverage.py. -

                                    -
                                  • -
                                  • -

                                    -New --pdb-postmortem argument to drop into the pdb debugger on exceptions. -

                                    -
                                  • -
                                  • -

                                    -Use hunter for line tracing instead of a selfmade solution. -

                                    -
                                  • -
                                  -
                                • -
                                -
                                -
                                -

                                Deprecated

                                -
                                  -
                                • -

                                  -The :run-userscript command - use :spawn --userscript instead. -

                                  -
                                • -
                                • -

                                  -The rapid and rapid-win targets for :hint - use the --rapid argument to :hint instead. -

                                  -
                                • -
                                • -

                                  -The :cancel-download command - use :download-cancel instead. -

                                  -
                                • -
                                • -

                                  -The :download-page command - use :download instead. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -init_venv.py and run_checks.py have been replaced by tox. Install tox and run tox -e mkvenv instead.. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fix for cache never being used. -

                                  -
                                • -
                                • -

                                  -Fixed handling of key release events (e.g. for javascript) when holding a key and pressing a second one. -

                                  -
                                • -
                                • -

                                  -Fix handling of commands using ;; at various places (key config, command parser, :bind) -

                                  -
                                • -
                                • -

                                  -Fix splitting of flags with arguments (:bind -m/--mode). -

                                  -
                                • -
                                • -

                                  -Fix bindings of special keys with lower-case modifiers (e.g. <ctrl-x>) -

                                  -
                                • -
                                • -

                                  -Fix for weird search highlights when changing tabs while search is active. -

                                  -
                                • -
                                • -

                                  -Fix starting with -c "". -

                                  -
                                • -
                                • -

                                  -Fix removing of partial downloads when a download is cancelled via context menu. -

                                  -
                                • -
                                • -

                                  -Fix retrying of downloads which were started in a now closed tab. -

                                  -
                                • -
                                • -

                                  -Highlight text case-insensitively in completion. -

                                  -
                                • -
                                • -

                                  -Scroll completion to top when showing it. -

                                  -
                                • -
                                • -

                                  -Handle unencodable file paths in config types correctly. -

                                  -
                                • -
                                • -

                                  -Fix for crash when executing a delayed command (because of a shadowed keybinding) and then unfocusing the window. -

                                  -
                                • -
                                • -

                                  -Fix for crash when hinting on a page which doesn’t have a URL yet. -

                                  -
                                • -
                                • -

                                  -Fix exception when using :set-cmd-text with an empty argument. -

                                  -
                                • -
                                • -

                                  -Add a timeout to pastebin HTTP replies. -

                                  -
                                • -
                                • -

                                  -Various other fixes for small/rare bugs. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.1.4

                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -The Windows builds come with Qt 5.4.1 which has some related bugfixes. -

                                  -
                                • -
                                • -

                                  -Improvements to CPU usage when idle. -

                                  -
                                • -
                                • -

                                  -Ensure there’s no size for font-family settings. -

                                  -
                                • -
                                • -

                                  -Handle URLs with double-colon as search strings. -

                                  -
                                • -
                                • -

                                  -Adjust prompt size hint based on content. -

                                  -
                                • -
                                • -

                                  -Refactor websettings and save/restore defaults. -

                                  -
                                • -
                                • -

                                  -Various small improvements to logging. -

                                  -
                                • -
                                • -

                                  -Various improvements for hinting. -

                                  -
                                • -
                                • -

                                  -Improve parsing of faulthandler logs. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -Remove default search engines. -

                                  -
                                • -
                                • -

                                  -Remove debug console completing completely. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Ignore RuntimeError in mouserelease_insertmode. -

                                  -
                                • -
                                • -

                                  -Hide Qt warning when aborting download reply. -

                                  -
                                • -
                                • -

                                  -Hide "Error while shutting down tabs" message. -

                                  -
                                • -
                                • -

                                  -Clear open target in acceptNavigationRequest. -

                                  -
                                • -
                                • -

                                  -Fix handling of signals with deleted tabs. -

                                  -
                                • -
                                • -

                                  -Restore sys.std* in utils.fake_io on exceptions. -

                                  -
                                • -
                                • -

                                  -Allow font names with integers in them. -

                                  -
                                • -
                                • -

                                  -Fix QIODevice warnings when closing tabs. -

                                  -
                                • -
                                • -

                                  -Set the QSettings path to a config-subdirectory. -

                                  -
                                • -
                                • -

                                  -Add workaround for adblock-message without window. -

                                  -
                                • -
                                • -

                                  -Fix searching for terms starting with a slash. -

                                  -
                                • -
                                • -

                                  -Ignore tab key presses if they’d switch focus. -

                                  -
                                • -
                                -
                                -
                                -

                                Security

                                -
                                  -
                                • -

                                  -Stop the icon database from being created when private-browsing is set to true. -

                                  -
                                • -
                                • -

                                  -Disable insecure SSL ciphers. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.1.3

                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -Various small logging improvements. -

                                  -
                                • -
                                • -

                                  -Don’t open relative files in fuzzy_url with :open -

                                  -
                                • -
                                • -

                                  -Various crashdialog improvements. -

                                  -
                                • -
                                • -

                                  -Hide adblocked iframes. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Handle shutdown of page with prompt correctly. -

                                  -
                                • -
                                • -

                                  -fuzzy_url: handle invalid URLs with autosearch off -

                                  -
                                • -
                                • -

                                  -Handle explicit searches with auto-search=false. -

                                  -
                                • -
                                • -

                                  -Abort download override question on error/cancel. -

                                  -
                                • -
                                • -

                                  -Set a higher z-index for hint labels. -

                                  -
                                • -
                                • -

                                  -Close contextmenu when closing tab to avoid crash. -

                                  -
                                • -
                                • -

                                  -Fix statusbar quickly popping up as window. -

                                  -
                                • -
                                • -

                                  -Clean up NetworkManager after downloads finished. -

                                  -
                                • -
                                • -

                                  -Fix restoring of cmd widget after an error. -

                                  -
                                • -
                                • -

                                  -Fix retrying of downloads after the tab is closed. -

                                  -
                                • -
                                • -

                                  -Fix check_libraries() output for Arch Linux. -

                                  -
                                • -
                                • -

                                  -Handle all IPCErrors properly. -

                                  -
                                • -
                                • -

                                  -Handle another webelem.IsNullError with hints. -

                                  -
                                • -
                                • -

                                  -Handle UnicodeDecodeError when reading configs. -

                                  -
                                • -
                                -
                                -
                                -

                                Security

                                -
                                  -
                                • -

                                  -Fix for HTTP passwords accidentally being written to debug log. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.1.2

                                -
                                -
                                -

                                Changed

                                -
                                  -
                                • -

                                  -Uncheck sending of debug log by default when private browsing is on. -

                                  -
                                • -
                                • -

                                  -Add SSL info to version info. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -Remove hosts-file.net from blocker default lists. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fix rare exception when a key is pressed shortly after opening a window -

                                  -
                                • -
                                • -

                                  -Fix exception with certain invalid URLs like http:foo:0 -

                                  -
                                • -
                                • -

                                  -Work around Qt bug which renders checkboxes on macOS unusable -

                                  -
                                • -
                                • -

                                  -Fix exception when a local files can’t be read in :adblock-update -

                                  -
                                • -
                                • -

                                  -Hide 2 more Qt warnings. -

                                  -
                                • -
                                • -

                                  -Add !important to hint CSS so websites don’t override the hint look -

                                  -
                                • -
                                • -

                                  -Make init_venv.py work with multiple sip .so files. -

                                  -
                                • -
                                • -

                                  -Fix splitting with certain commands with an empty argument -

                                  -
                                • -
                                • -

                                  -Fix uppercase hints. -

                                  -
                                • -
                                • -

                                  -Fix segfaults if another page is loaded while a prompt is open -

                                  -
                                • -
                                • -

                                  -Fix exception with invalid ShellCommand config values. -

                                  -
                                • -
                                • -

                                  -Replace unencodable chars -

                                  -
                                • -
                                • -

                                  -Fix user-stylesheet setting with an empty value. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.1.1

                                -
                                -
                                -

                                Added

                                -
                                  -
                                • -

                                  -Set window icon and add a qutebrowser.ico file for Windows. -

                                  -
                                • -
                                • -

                                  -Ask the user when downloading to an already existing file. -

                                  -
                                • -
                                • -

                                  -Add a network -> proxy-dns-requests option. -

                                  -
                                • -
                                • -

                                  -Add "Remove finished" to the download context menu -

                                  -
                                • -
                                • -

                                  -Open and remove clicked downloads. -

                                  -
                                • -
                                -
                                -
                                -

                                Changes

                                -
                                  -
                                • -

                                  -Windows releases are now built with Qt 5.4 which brings many improvements and bugfixes. -

                                  -
                                • -
                                • -

                                  -Add a troubleshooting section to the FAQ. -

                                  -
                                • -
                                • -

                                  -Display IPC errors to the user. -

                                  -
                                • -
                                • -

                                  -Rewrite keymode handling to use only one mode which also fixes various bugs. -

                                  -
                                • -
                                • -

                                  -Save version to state config. -

                                  -
                                • -
                                • -

                                  -Set zoom to default instead of 100% with :zoom/=. -

                                  -
                                • -
                                • -

                                  -Adjust page zoom if default zoom changed. -

                                  -
                                • -
                                • -

                                  -Force tabs to be focused on :undo. -

                                  -
                                • -
                                • -

                                  -Replace manual installation instructions on macOS with homebrew/macports. -

                                  -
                                • -
                                • -

                                  -Allow min-/maximizing of print preview on Windows. -

                                  -
                                • -
                                • -

                                  -Various documentation improvements. -

                                  -
                                • -
                                • -

                                  -Various other small improvements and cleanups. -

                                  -
                                • -
                                -
                                -
                                -

                                Removed

                                -
                                  -
                                • -

                                  -Clean up and temporarily disable alias completion. -

                                  -
                                • -
                                -
                                -
                                -

                                Fixed

                                -
                                  -
                                • -

                                  -Fix setting of QWebSettings (e.g. web fonts) with empty strings. -

                                  -
                                • -
                                • -

                                  -Re-focus web view when leaving prompt/yesno mode. -

                                  -
                                • -
                                • -

                                  -Handle :restart correctly with Python eggs. -

                                  -
                                • -
                                • -

                                  -Handle an invalid cwd properly. -

                                  -
                                • -
                                • -

                                  -Fix popping of a dead question in prompter. -

                                  -
                                • -
                                • -

                                  -Fix AttributeError on config changes on Ubuntu. -

                                  -
                                • -
                                • -

                                  -Don’t treat things like "31c3" as IP address. -

                                  -
                                • -
                                • -

                                  -Handle category being None in Qt message handler. -

                                  -
                                • -
                                • -

                                  -Force-include pygments in freeze.py. -

                                  -
                                • -
                                • -

                                  -Fix scroll percentage not updating on some pages like twitter. -

                                  -
                                • -
                                • -

                                  -Encode Content-Disposition header name properly. -

                                  -
                                • -
                                • -

                                  -Fix item sorting in NeighborList. -

                                  -
                                • -
                                • -

                                  -Handle data being None in download read timer. -

                                  -
                                • -
                                • -

                                  -Stop download read timer when reply has finished. -

                                  -
                                • -
                                • -

                                  -Fix handling of small/big fuzzyval's in NeighborList. -

                                  -
                                • -
                                • -

                                  -Fix crashes when entering invalid values in qute:settings. -

                                  -
                                • -
                                • -

                                  -Abort questions in NetworkManager when destroyed. -

                                  -
                                • -
                                • -

                                  -Fix height calculation of download view. -

                                  -
                                • -
                                • -

                                  -Always auto-remove adblock downloads when done. -

                                  -
                                • -
                                • -

                                  -Ensure the docs get included in freeze.py. -

                                  -
                                • -
                                • -

                                  -Fix crash with :zoom. -

                                  -
                                • -
                                -
                                -
                                -
                                -
                                -

                                v0.1

                                -
                                -

                                Initial release.

                                -
                                -
                                -
                                -

                                - - - diff -pruN 1.3.0-1/qutebrowser/html/doc/commands.html 1.3.2-1/qutebrowser/html/doc/commands.html --- 1.3.0-1/qutebrowser/html/doc/commands.html 2018-05-04 05:54:09.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/commands.html 2018-06-10 14:01:19.000000000 +0000 @@ -4649,7 +4649,7 @@ With this command, ;; is in diff -pruN 1.3.0-1/qutebrowser/html/doc/configuring.html 1.3.2-1/qutebrowser/html/doc/configuring.html --- 1.3.0-1/qutebrowser/html/doc/configuring.html 2018-05-04 05:54:15.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/configuring.html 2018-06-10 14:01:27.000000000 +0000 @@ -808,56 +808,31 @@ asciidoc.install(); qutebrowser’s configuration system was completely rewritten in September 2017. This information is not applicable to older releases, and older -information elsewhere might be outdated. If you had an old configuration -around and upgraded, this page will automatically open once. To view it at a -later time, use the :help command. +information elsewhere might be outdated.
                              -

                              Migrating older configurations

                              +

                              qutebrowser’s config files

                              -

                              qutebrowser does no automatic migration for the new configuration. However, -there’s a special configdiff page -(qute://configdiff/old) in qutebrowser, which will show you the changes you -did in your old configuration, compared to the old defaults.

                              -

                              Other changes in default settings:

                              -
                                -
                              • -

                                -In v1.1.x and newer, <Up> and <Down> navigate through command history - if no text was entered yet. - With v1.0.x, they always navigate through command history instead of selecting - completion items. Use <Tab>/<Shift-Tab> to cycle through the completion - instead. - You can get back the old behavior by doing: -

                                -
                                -
                                -
                                :bind -m command <Up> completion-item-focus prev
                                -:bind -m command <Down> completion-item-focus next
                                -
                                -

                                or always navigate through command history with

                                -
                                -
                                -
                                :bind -m command <Up> command-history-prev
                                -:bind -m command <Down> command-history-next
                                -
                                -
                              • -
                              • -

                                -The default for completion.web_history_max_items is now set to -1, showing - an unlimited number of items in the completion for :open as the new - sqlite-based completion is much faster. If the :open completion is too slow - on your machine, set an appropriate limit again. -

                                -
                              • -
                              +

                              qutebrowser releases before v1.0.0 had a qutebrowser.conf and keys.conf +file. Those are not used anymore since that release - see +"Migrating older configurations" for information on how to +migrate to the new config.

                              +

                              When using :set and :bind, changes are saved to an autoconfig.yml file +automatically. If you don’t want to have a config file which is curated by +hand, you can simply use those - see +"Configuring qutebrowser via the user interface" for details.

                              +

                              For more advanced configuration, you can write a config.py file - see +"Configuring qutebrowser via config.py". As soon as a config.py +exists, the autoconfig.yml file is not read anymore by default. You need +to load it by hand if you want settings done via +:set/:bind to still persist.

                              -

                              Configuring qutebrowser via the user interface

                              +

                              Configuring qutebrowser via the user interface

                              The easy (but less flexible) way to configure qutebrowser is using its user interface or command line. Changes you make this way are immediately active @@ -904,7 +879,7 @@ different values.

                              -

                              Configuring qutebrowser via config.py

                              +

                              Configuring qutebrowser via config.py

                              For more powerful configuration possibilities, you can create a config.py file. Since it’s a Python file, you have much more flexibility for @@ -1067,7 +1042,7 @@ will never be used in a default keybindi c.bindings.default = {}.

                              -

                              Loading autoconfig.yml

                              +

                              Loading autoconfig.yml

                              All customization done via the UI (:set, :bind and :unbind) is stored in the autoconfig.yml file, which is not loaded automatically as soon as a config.py exists. If you want those settings to be loaded, you’ll need to @@ -1224,12 +1199,53 @@ stable across qutebrowser versions):

                              +
                              +

                              Migrating older configurations

                              +
                              +

                              qutebrowser does no automatic migration for the new configuration. However, +there’s a special configdiff page +(qute://configdiff/old) in qutebrowser, which will show you the changes you +did in your old configuration, compared to the old defaults.

                              +

                              Other changes in default settings:

                              +
                                +
                              • +

                                +In v1.1.x and newer, <Up> and <Down> navigate through command history + if no text was entered yet. + With v1.0.x, they always navigate through command history instead of selecting + completion items. Use <Tab>/<Shift-Tab> to cycle through the completion + instead. + You can get back the old behavior by doing: +

                                +
                                +
                                +
                                :bind -m command <Up> completion-item-focus prev
                                +:bind -m command <Down> completion-item-focus next
                                +
                                +

                                or always navigate through command history with

                                +
                                +
                                +
                                :bind -m command <Up> command-history-prev
                                +:bind -m command <Down> command-history-next
                                +
                                +
                              • +
                              • +

                                +The default for completion.web_history_max_items is now set to -1, showing + an unlimited number of items in the completion for :open as the new + sqlite-based completion is much faster. If the :open completion is too slow + on your machine, set an appropriate limit again. +

                                +
                              • +
                              +
                              +

                            diff -pruN 1.3.0-1/qutebrowser/html/doc/contributing.html 1.3.2-1/qutebrowser/html/doc/contributing.html --- 1.3.0-1/qutebrowser/html/doc/contributing.html 2018-05-04 05:54:06.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/contributing.html 2018-06-10 14:01:16.000000000 +0000 @@ -2120,7 +2120,7 @@ Announce to qutebrowser and qutebrowser- diff -pruN 1.3.0-1/qutebrowser/html/doc/CONTRIBUTING.html 1.3.2-1/qutebrowser/html/doc/CONTRIBUTING.html --- 1.3.0-1/qutebrowser/html/doc/CONTRIBUTING.html 2017-11-06 11:08:29.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/CONTRIBUTING.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,2045 +0,0 @@ - - - - - -Contributing to qutebrowser - - - - - -
                            -
                            -
                            -

                            I &lt;3
                            [Of course, that says <3 in HTML.]
                            contributors!

                            -

                            This document contains guidelines for contributing to qutebrowser, as well as -useful hints when doing so.

                            -

                            If anything mentioned here would prevent you from contributing, please let me -know, and contribute anyways! The guidelines are meant to make life easier for -me, but if you don’t follow everything in here, I won’t be mad at you. In -fact, I will probably change it for you.

                            -

                            If you have any problems, I’m more than happy to help! You can get help in -several ways:

                            -
                            -
                            -
                            -
                            -

                            Finding something to work on

                            -
                            -

                            Chances are you already know something to improve or add when you’re reading -this. It might be a good idea to ask on the mailing list or IRC channel to make -sure nobody else started working on the same thing already.

                            -

                            If you want to find something useful to do, check the -issue tracker. Some -pointers:

                            - -

                            If you prefer C++ or Javascript to Python, see the relevant issues which involve -work in those languages:

                            -
                              -
                            • -

                              -C++ (mostly work on Qt, the library behind qutebrowser) -

                              -
                            • -
                            • -

                              -JavaScript -

                              -
                            • -
                            -

                            There are also some things to do if you don’t want to write code:

                            -
                              -
                            • -

                              -Help the community, e.g., on the mailinglist and the IRC channel. -

                              -
                            • -
                            • -

                              -Improve the documentation. -

                              -
                            • -
                            • -

                              -Help on the website and graphics (logo, etc.). -

                              -
                            • -
                            -
                            -
                            -
                            -

                            Using git

                            -
                            -

                            qutebrowser uses git for its development. You can clone -the repo like this:

                            -
                            -
                            -
                            git clone https://github.com/qutebrowser/qutebrowser.git
                            -
                            -

                            If you don’t know git, a git cheatsheet might come in -handy. Of course, if using git is the issue which prevents you from -contributing, feel free to send normal patches instead, e.g., generated via -diff -Nur.

                            -
                            -

                            Getting patches

                            -

                            The preferred way of submitting changes is to -fork the repository and to -submit a pull -request.

                            -

                            If you prefer to send a patch to the mailinglist, you can generate a patch -based on your changes like this:

                            -
                            -
                            -
                            git format-patch origin/master 1
                            -
                            -
                            - -
                            1 -Replace master by the branch your work was based on, e.g., -origin/develop. -
                            -
                            -
                            -
                            -
                            -

                            Useful utilities

                            -
                            -
                            -

                            Checkers

                            -

                            qutebrowser uses tox to run its -unittests and several linters/checkers.

                            -

                            Currently, the following tox environments are available:

                            -
                              -
                            • -

                              -Tests using pytest: -

                              -
                                -
                              • -

                                -py34: Run pytest for python-3.4. -

                                -
                              • -
                              • -

                                -py35: Run pytest for python-3.5. -

                                -
                              • -
                              • -

                                -py34-cov: Run pytest for python-3.4 with code coverage report. -

                                -
                              • -
                              • -

                                -py35-cov: Run pytest for python-3.5 with code coverage report. -

                                -
                              • -
                              -
                            • -
                            • -

                              -flake8: Run flake8 checks: - pyflakes, - pep8, - mccabe -

                              -
                            • -
                            • -

                              -vulture: Run vulture to find - unused code portions. -

                              -
                            • -
                            • -

                              -pylint: Run pylint static code analysis. -

                              -
                            • -
                            • -

                              -pydocstyle: Check - PEP257 compliance with - pydocstyle -

                              -
                            • -
                            • -

                              -pyroma: Check packaging practices with - pyroma -

                              -
                            • -
                            • -

                              -eslint: Run ESLint javascript checker. -

                              -
                            • -
                            • -

                              -check-manifest: Check MANIFEST.in completeness with - check-manifest -

                              -
                            • -
                            • -

                              -mkvenv: Bootstrap a virtualenv for testing. -

                              -
                            • -
                            • -

                              -misc: Run scripts/misc_checks.py to check for: -

                              -
                                -
                              • -

                                -untracked git files -

                                -
                              • -
                              • -

                                -VCS conflict markers -

                                -
                              • -
                              • -

                                -common spelling mistakes -

                                -
                              • -
                              -
                            • -
                            -

                            The default test suite is run with tox; the list of default -environments is obtained with tox -l.

                            -

                            Please make sure the checks run without any warnings on your new contributions.

                            -

                            There’s always the possibility of false positives; the following -techniques are useful to handle these:

                            -
                              -
                            • -

                              -Use _foo for unused parameters, with foo being a descriptive name. Using -_ is discouraged. -

                              -
                            • -
                            • -

                              -If you think you have a good reason to suppress a message, then add the -following comment: -

                              -
                              -
                              -
                              # pylint: disable=message-name
                              -
                              -

                              Note you can add this per line, per function/class, or per file. Please use the -smallest scope which makes sense. Most of the time, this will be line scope.

                              -
                            • -
                            • -

                              -If you really think a check shouldn’t be done globally as it yields a lot of -false-positives, let me know! I’m still tweaking the parameters. -

                              -
                            • -
                            -
                            -
                            -

                            Running Specific Tests

                            -

                            While you are developing you often don’t want to run the full test -suite each time.

                            -

                            Specific test environments can be run with tox -e <envlist>.

                            -

                            Additional parameters can be passed to the test scripts by separating -them from tox arguments with --.

                            -

                            Examples:

                            -
                            -
                            -
                            # run only pytest tests which failed in last run:
                            -tox -e py35 -- --lf
                            -
                            -# run only the end2end feature tests:
                            -tox -e py35 -- tests/end2end/features
                            -
                            -# run everything with undo in the generated name, based on the scenario text
                            -tox -e py35 -- tests/end2end/features/test_tabs_bdd.py -k undo
                            -
                            -# run coverage test for specific file (updates htmlcov/index.html)
                            -tox -e py35-cov -- tests/unit/browser/test_webelem.py
                            -
                            -
                            -
                            -

                            Profiling

                            -

                            In the scripts/ subfolder there’s a run_profile.py which profiles the code -and shows a graphical representation of what takes how much time.

                            -

                            It uses the built-in Python -cProfile module and can show -the output in four different ways:

                            -
                            -
                            -
                            -

                            Debugging

                            -

                            There are some useful functions for debugging in the qutebrowser.utils.debug -module.

                            -

                            When starting qutebrowser with the --debug flag, you also get useful debug -logs. You can add --logfilter category[,category,…] to restrict logging -to the given categories.

                            -

                            With --debug there are also some additional debug-* commands available, -for example :debug-all-objects and :debug-all-widgets which print a list of -all Qt objects/widgets to the debug log — this is very useful for finding -memory leaks.

                            -
                            -
                            -

                            Useful websites

                            -

                            Some resources which might be handy:

                            - -

                            Documentation of used Python libraries:

                            -
                            -

                            Related RFCs and standards:

                            - - -
                            -
                            -
                            -
                            -

                            Hints

                            -
                            -
                            -

                            Python and Qt objects

                            -

                            For many tasks, there are solutions available in both Qt and the Python -standard library.

                            -

                            In qutebrowser, the policy is usually to use the Python libraries, as they -provide exceptions and other benefits.

                            -

                            There are some exceptions to that:

                            -
                              -
                            • -

                              -QThread is used instead of Python threads because it provides signals and -slots. -

                              -
                            • -
                            • -

                              -QProcess is used instead of Python’s subprocess -

                              -
                            • -
                            • -

                              -QUrl is used instead of storing URLs as string, see the -handling URLs section for details. -

                              -
                            • -
                            -

                            When using Qt objects, two issues must be taken care of:

                            -
                              -
                            • -

                              -Methods of Qt objects report their status with their return values, -instead of using exceptions. -

                              -

                              If a function gets or returns a Qt object which has an .isValid() -method such as QUrl or QModelIndex, there’s a helper function -ensure_valid in qutebrowser.utils.qtutils which should get called -on all such objects. It will raise -qutebrowser.utils.qtutils.QtValueError if the value is not valid.

                              -

                              If a function returns something else on error, the return value should -carefully be checked.

                              -
                            • -
                            • -

                              -Methods of Qt objects have certain maximum values based on their -underlying C++ types. -

                              -

                              To avoid passing too large of a numeric parameter to a Qt function, all -numbers should be range-checked using qutebrowser.qtutils.check_overflow, -or by other means (e.g. by setting a maximum value for a config object).

                              -
                            • -
                            -
                            -
                            -

                            The object registry

                            -

                            The object registry in qutebrowser.utils.objreg is a collection of -dictionaries which map object names to the actual long-living objects.

                            -

                            There are currently these object registries, also called scopes:

                            -
                              -
                            • -

                              -The global scope, with objects which are used globally (config, -cookie-jar, etc.) -

                              -
                            • -
                            • -

                              -The tab scope with objects which are per-tab (hintmanager, webview, -etc.). Passing this scope to objreg.get() selects the object in the currently -focused tab by default. A tab can be explicitly selected by passing -tab=tab-id, window=win-id to it. -

                              -
                            • -
                            -

                            A new object can be registered by using -objreg.register(name, object[, scope=scope, window=win-id, -tab=tab-id]). An object should not be registered twice. To update it, -update=True has to be given.

                            -

                            An object can be retrieved by using objreg.get(name[, scope=scope, -window=win-id, tab=tab-id]). The default scope is global.

                            -

                            All objects can be printed by starting with the --debug flag and using the -:debug-all-objects command.

                            -

                            The registry is mainly used for command handlers, but it can -also be useful in places where using Qt’s -signals and slots mechanism would -be difficult.

                            -
                            -
                            -

                            Logging

                            -

                            Logging is used at various places throughout the qutebrowser code. If you add a -new feature, you should also add some strategic debug logging.

                            -

                            Unlike other Python projects, qutebrowser doesn’t use a logger per file, -instead it uses custom-named loggers.

                            -

                            The existing loggers are defined in qutebrowser.utils.log. If your feature -doesn’t fit in any of the logging categories, simply add a new line like this:

                            -
                            -
                            -

                            Then in your source files, do this:

                            -
                            -
                            -

                            The following logging levels are available for every logger:

                            -
                            - --- - - - - - - - - - - - - - - - - - - - - - -

                            critical

                            Critical issue, qutebrowser can’t continue to run.

                            error

                            There was an issue and some kind of operation was abandoned.

                            warning

                            There was an issue but the operation can continue running.

                            info

                            General informational messages.

                            debug

                            Verbose debugging informations.

                            -
                            -
                            -
                            -

                            Commands

                            -

                            qutebrowser has the concept of functions which are exposed to the user as -commands.

                            -

                            Creating a new command is straightforward:

                            -
                            -
                            -

                            The commands arguments are automatically deduced by inspecting your function.

                            -

                            If the function is a method of a class, the @cmdutils.register decorator -needs to have an instance=... parameter which points to the (single/main) -instance of the class.

                            -

                            The instance parameter is the name of an object in the object registry, which -then gets passed as the self parameter to the handler. The scope argument -selects which object registry (global, per-tab, etc.) to use. See the -object registry section for details.

                            -

                            There are also other arguments to customize the way the command is -registered; see the class documentation for register in -qutebrowser.commands.cmdutils for details.

                            -

                            The types of the function arguments are inferred based on their default values, -e.g., an argument foo=True will be converted to a flag -f/--foo in -qutebrowser’s commandline.

                            -

                            The type can be overridden using Python’s -function annotations:

                            -
                            -
                            -

                            Possible values: - - A callable (int, float, etc.): Gets called to validate/convert the - value. - - A python enum type: All members of the enum are possible values. - - A typing.Union of multiple types above: Any of these types are valid - values, e.g., typing.Union[str, int]

                            -

                            You can customize how an argument is handled using the @cmdutils.argument -decorator after @cmdutils.register. This can, for example, be used to -customize the flag an argument should get:

                            -
                            -
                            -

                            For a str argument, you can restrict the allowed strings using choices:

                            -
                            -
                            -

                            For typing.Union types, the given choices are only checked if other types -(like int) don’t match.

                            -

                            The following arguments are supported for @cmdutils.argument:

                            -
                              -
                            • -

                              -flag: Customize the short flag (-x) the argument will get. -

                              -
                            • -
                            • -

                              -win_id=True: Mark the argument as special window ID argument -

                              -
                            • -
                            • -

                              -count=True: Mark the argument as special count argument -

                              -
                            • -
                            • -

                              -hide=True: Hide the argument from the documentation -

                              -
                            • -
                            • -

                              -completion: A usertypes.Completion member to use as completion. -

                              -
                            • -
                            • -

                              -choices: The allowed string choices for the argument. -

                              -
                            • -
                            -

                            The name of an argument will always be the parameter name, with any trailing -underscores stripped and underscores replaced by dashes.

                            -
                            -
                            -

                            Handling URLs

                            -

                            qutebrowser handles two different types of URLs: URLs as a string, and URLs as -the Qt QUrl type. As this can get confusing quickly, please follow the -following guidelines:

                            -
                              -
                            • -

                              -Convert a string to a QUrl object as early as possible, i.e., directly after -the user did enter it. -

                              -
                                -
                              • -

                                -Use utils.urlutils.fuzzy_url if the URL is entered by the user - somewhere. -

                                -
                              • -
                              • -

                                -Be sure you handle utils.urlutils.FuzzyError and display an error - message to the user. -

                                -
                              • -
                              -
                            • -
                            • -

                              -Convert a QUrl object to a string as late as possible, i.e., before -displaying it to the user. -

                              -
                                -
                              • -

                                -If you want to display the URL to the user, use url.toDisplayString() - so password information is removed. -

                                -
                              • -
                              • -

                                -If you want to get the URL as string for some other reason, you most - likely want to add the QUrl.EncodeFully and QUrl.RemovePassword - flags. -

                                -
                              • -
                              -
                            • -
                            • -

                              -Name a string URL something like urlstr, and a QUrl something like url. -

                              -
                            • -
                            • -

                              -Mention in the docstring whether your function needs a URL string or a -QUrl. -

                              -
                            • -
                            • -

                              -Call ensure_valid from utils.qtutils whenever getting or creating a -QUrl and take appropriate action if not. Note the URL of the current page -always could be an invalid QUrl (if nothing is loaded yet). -

                              -
                            • -
                            -
                            -
                            -

                            Running valgrind on QtWebKit

                            -

                            If you want to run qutebrowser (and thus QtWebKit) with -valgrind, you’ll need to pass --smc-check=all to it or -recompile QtWebKit with the Javascript JIT disabled.

                            -

                            This is needed so valgrind handles self-modifying code correctly:

                            -
                            -
                            -

                            This option controls Valgrind’s detection of self-modifying code. If no -checking is done and a program executes some code, overwrites it with new -code, and then executes the new code, Valgrind will continue to execute the -translations it made for the old code. This will likely lead to incorrect -behavior and/or crashes.

                            -

                            -

                            Note that the default option will catch the vast majority of cases. The main -case it will not catch is programs such as JIT compilers that dynamically -generate code and subsequently overwrite part or all of it. Running with all -will slow Valgrind down noticeably.

                            -
                            -
                            -
                            -
                            -
                            -

                            Setting up a Windows Development Environment

                            -
                              -
                            • -

                              -Install Python 3.4 -

                              -
                            • -
                            • -

                              -Install PyQt 5.5 -

                              -
                            • -
                            • -

                              -Create a file at C:\Windows\system32\python3.bat with the following content: - @C:\Python34\python %* - This will make the Python 3.4 interpreter available as python3, which is used by various development scripts. -

                              -
                            • -
                            • -

                              -Install git from the git-scm downloads page - Try not to enable core.autocrlf, since that will cause flake8 to complain a lot. Use an editor that can deal with plain line feeds instead. -

                              -
                            • -
                            • -

                              -Clone your favourite qutebrowser repository. -

                              -
                            • -
                            • -

                              -To install tox, open an elevated cmd, enter your working directory and run pip install -rmisc/requirements/requirements-tox.txt. -

                              -
                            • -
                            -

                            Note that the flake8 tox env might not run due to encoding errors despite having LANG/LC_* set correctly.

                            -
                            -
                            -

                            Rebuilding the website

                            -

                            If you want to rebuild the website, run ./scripts/asciidoc2html.py --website <outputdir>.

                            -
                            -
                            -

                            Chrome URLs

                            -

                            With the QtWebEngine backend, qutebrowser supports several chrome:// urls which -can be useful for debugging:

                            -
                              -
                            • -

                              -chrome://appcache-internals/ -

                              -
                            • -
                            • -

                              -chrome://blob-internals/ -

                              -
                            • -
                            • -

                              -chrome://gpu/ -

                              -
                            • -
                            • -

                              -chrome://histograms/ -

                              -
                            • -
                            • -

                              -chrome://indexeddb-internals/ -

                              -
                            • -
                            • -

                              -chrome://media-internals/ -

                              -
                            • -
                            • -

                              -chrome://network-errors/ -

                              -
                            • -
                            • -

                              -chrome://serviceworker-internals/ -

                              -
                            • -
                            • -

                              -chrome://webrtc-internals/ -

                              -
                            • -
                            • -

                              -chrome://crash/ (crashes the current renderer process!) -

                              -
                            • -
                            • -

                              -chrome://kill/ (kills the current renderer process!) -

                              -
                            • -
                            • -

                              -chrome://gpucrash/ (crashes qutebrowser!) -

                              -
                            • -
                            • -

                              -chrome://gpuhang/ (hangs qutebrowser!) -

                              -
                            • -
                            • -

                              -chrome://gpuclean/ (crashes the current renderer process!) -

                              -
                            • -
                            • -

                              -chrome://ppapiflashcrash/ -

                              -
                            • -
                            • -

                              -chrome://ppapiflashhang/ -

                              -
                            • -
                            -
                            -
                            -
                            -
                            -

                            Style conventions

                            -
                            -

                            qutebrowser’s coding conventions are based on -PEP8 and the Google Python style guidelines with some additions:

                            -
                              -
                            • -

                              -The Raise: section is not added to the docstring. -

                              -
                            • -
                            • -

                              -Methods overriding Qt methods (obviously!) don’t follow the naming schemes. -

                              -
                            • -
                            • -

                              -Everything else does though, even slots. -

                              -
                            • -
                            • -

                              -Docstrings should look like described in -PEP257 and the google guidelines. -

                              -
                            • -
                            • -

                              -Class docstrings have additional Attributes:, Class attributes: and - Signals: sections. -

                              -
                            • -
                            • -

                              -In docstrings of command handlers (registered via @cmdutils.register), the -description should be split into two parts by using // - the first part is -the description of the command like it will appear in the documentation, the -second part is "internal" documentation only relevant to people reading the -sourcecode. -

                              -

                              Example for a class docstring:

                              -
                              -
                              -

                              Example for a method/function docstring:

                              -
                              -
                              -
                            • -
                            • -

                              -The layout of a module should be roughly like this: -

                              -
                                -
                              • -

                                -Shebang (#!/usr/bin/python, if needed) -

                                -
                              • -
                              • -

                                -vim-modeline (# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et) -

                                -
                              • -
                              • -

                                -Copyright -

                                -
                              • -
                              • -

                                -GPL boilerplate -

                                -
                              • -
                              • -

                                -Module docstring -

                                -
                              • -
                              • -

                                -Python standard library imports -

                                -
                              • -
                              • -

                                -PyQt imports -

                                -
                              • -
                              • -

                                -qutebrowser imports -

                                -
                              • -
                              • -

                                -functions -

                                -
                              • -
                              • -

                                -classes -

                                -
                              • -
                              -
                            • -
                            • -

                              -The layout of a class should be like this: -

                              -
                                -
                              • -

                                -docstring -

                                -
                              • -
                              • -

                                -__magic__ methods -

                                -
                              • -
                              • -

                                -other methods -

                                -
                              • -
                              • -

                                -overrides of Qt methods -

                                -
                              • -
                              -
                            • -
                            -
                            -
                            -
                            -

                            Checklists

                            -
                            -

                            These are mainly intended for myself, but they also fit in here well.

                            -
                            -

                            New Qt release

                            -
                              -
                            • -

                              -Run all tests and check nothing is broken. -

                              -
                            • -
                            • -

                              -Check the -Qt bugtracker -and make sure all bugs marked as resolved are actually fixed. -

                              -
                            • -
                            • -

                              -Update own PKGBUILDs based on upstream Archlinux updates and rebuild. -

                              -
                            • -
                            • -

                              -Update recommended Qt version in README -

                              -
                            • -
                            • -

                              -Grep for WORKAROUND in the code and test if fixed stuff works without the -workaround. -

                              -
                            • -
                            • -

                              -Check relevant -qutebrowser -bugs and check if they’re fixed. -

                              -
                            • -
                            -
                            -
                            -

                            New PyQt release

                            -
                              -
                            • -

                              -See above -

                              -
                            • -
                            • -

                              -Install new PyQt in Windows VM (32- and 64-bit) -

                              -
                            • -
                            • -

                              -Download new installer and update PyQt installer path in ci_install.py. -

                              -
                            • -
                            • -

                              -Update tox.ini/.travis.yml/.appveyor.yml to test new versions -

                              -
                            • -
                            -
                            -
                            -

                            qutebrowser release

                            -
                              -
                            • -

                              -Make sure there are no unstaged changes and the tests are green. -

                              -
                            • -
                            • -

                              -Run x=... y=... to set the respective shell variables -

                              -
                            • -
                            • -

                              -Add newest config to tests/unit/config/old_configs and update test_upgrade_version -

                              -
                                -
                              • -

                                -python -m qutebrowser --basedir conf :quit -

                                -
                              • -
                              • -

                                -sed '/^#/d' conf/config/qutebrowser.conf > tests/unit/config/old_configs/qutebrowser-v0.$x.$y.conf -

                                -
                              • -
                              • -

                                -rm -r conf -

                                -
                              • -
                              • -

                                -git add -

                                -
                              • -
                              • -

                                -commit -

                                -
                              • -
                              -
                            • -
                            • -

                              -Adjust __version_info__ in qutebrowser/__init__.py. -

                              -
                            • -
                            • -

                              -Update changelog (remove (unreleased)) -

                              -
                            • -
                            • -

                              -Run tests again -

                              -
                            • -
                            • -

                              -Commit -

                              -
                            • -
                            • -

                              -Create annotated git tag (git tag -s "v0.$x.$y" -m "Release v0.$x.$y") -

                              -
                            • -
                            • -

                              -git push origin; git push origin v0.$x.$y -

                              -
                            • -
                            • -

                              -If committing on minor branch, cherry-pick release commit to master. -

                              -
                            • -
                            • -

                              -Create release on github -

                              -
                            • -
                            • -

                              -Mark the milestone at https://github.com/qutebrowser/qutebrowser/milestones -as closed. -

                              -
                            • -
                            • -

                              -Linux: Run python3 scripts/dev/build_release.py --upload v0.$x.$y -

                              -
                            • -
                            • -

                              -Windows: Run C:\Python36-32\python scripts\dev\build_release.py --asciidoc C:\Python27\python C:\asciidoc-8.6.9\asciidoc.py --upload v0.X.Y (replace X/Y by hand) -

                              -
                            • -
                            • -

                              -OS X: Run python3 scripts/dev/build_release.py --upload v0.X.Y (replace X/Y by hand) -

                              -
                            • -
                            • -

                              -On server: Run python3 scripts/dev/download_release.py v0.X.Y (replace X/Y by hand) -

                              -
                            • -
                            • -

                              -Update qutebrowser-git PKGBUILD if dependencies/install changed -

                              -
                            • -
                            • -

                              -Announce to qutebrowser and qutebrowser-announce mailinglist -

                              -
                            • -
                            -
                            -
                            -
                            -
                            -

                            - - - diff -pruN 1.3.0-1/qutebrowser/html/doc/faq.html 1.3.2-1/qutebrowser/html/doc/faq.html --- 1.3.0-1/qutebrowser/html/doc/faq.html 2018-05-04 05:54:02.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/faq.html 2018-06-10 14:01:11.000000000 +0000 @@ -1255,7 +1255,7 @@ My issue is not listed. diff -pruN 1.3.0-1/qutebrowser/html/doc/FAQ.html 1.3.2-1/qutebrowser/html/doc/FAQ.html --- 1.3.0-1/qutebrowser/html/doc/FAQ.html 2017-11-06 11:08:27.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/FAQ.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,1087 +0,0 @@ - - - - - -Frequently asked questions - - - - - -
                            -
                            -
                            -
                              -
                            1. -

                              -What is qutebrowser based on? -

                              -

                              - qutebrowser uses Python, Qt and - PyQt. -

                              -

                              The concept of it is largely inspired by dwb -and Vimperator. Many actions and -key bindings are similar to dwb.

                              -
                            2. -
                            3. -

                              -Why another browser? -

                              -

                              - It might be hard to believe, but I didn’t find any browser which I was - happy with, so I started to write my own. Also, I needed a project to get - into writing GUI applications with Python and - Qt/PyQt. -

                              -

                              Read the next few questions to find out why I was unhappy with existing -software.

                              -
                            4. -
                            5. -

                              -What’s wrong with dwb/vimprobable/luakit/jumanji/… (projects based on WebKitGTK)? -

                              -

                              - Most of them are based on the WebKitGTK+ - WebKit1 API, - which causes a lot of crashes. As the GTK API using WebKit1 is - deprecated, - these bugs are never going to be fixed. -

                              -

                              The newer WebKit2 -API seems to lack basic features like proxy support, and almost no projects -seem to have started porting to WebKit2 (I only know of -uzbl).

                              -

                              qutebrowser uses Qt and QtWebKit -instead, which suffers from far less such crashes. It might switch to -QtWebEngine in the future, which is based on -Google’s Blink rendering -engine.

                              -
                            6. -
                            7. -

                              -What’s wrong with Firefox and Pentadactyl/Vimperator? -

                              -

                              - Firefox likes to break compatibility with addons on each upgrade, gets - slower and more bloated with every upgrade, and has some - horrible - ideas lately. -

                              -

                              Also, developing addons for it is a nightmare.

                              -
                            8. -
                            9. -

                              -What’s wrong with Chromium and Vimium? -

                              -

                              - The Chrome plugin API doesn’t seem to allow much freedom for plugin - writers, which results in Vimium not really having all the features you’d - expect from a proper minimal, vim-like browser. -

                              -
                            10. -
                            11. -

                              -Why Python? -

                              -

                              - I enjoy writing Python since 2011, which made it one of the possible - choices. I wanted to use Qt because of - QtWebKit so I didn’t have - many other choices. I don’t - like C++ and can’t write it very well, so that wasn’t an alternative. -

                              -
                            12. -
                            13. -

                              -But isn’t Python too slow for a browser? -

                              -

                              - No. - I believe efficiency while coding is a lot more important than efficiency - while running. Also, most of the heavy lifting of qutebrowser is done by Qt - and WebKit in C++, with the - GIL released. -

                              -
                            14. -
                            15. -

                              -Is there an adblocker? -

                              -

                              - There is a host-based adblocker which takes /etc/hosts-like lists. A "real" - adblocker has a - big - impact on browsing speed and - RAM - usage, so implementing support for AdBlockPlus-like lists is currently not - a priority. -

                              -
                            16. -
                            17. -

                              -How do I play Youtube videos with mpv? -

                              -

                              - You can easily add a key binding to play youtube videos inside a real video - player - optionally even with hinting for links: -

                              -
                              -
                              -
                              :bind m spawn mpv {url}
                              -:bind M hint links spawn mpv {hint-url}
                              -
                              -

                              Note that you might need an additional package (e.g. -youtube-dl on -Archlinux) to play web videos with mpv.

                              -

                              There is a very useful script for mpv, which emulates "unique application" -functionality. This way you can add links to the mpv playlist instead of -playing them all at once.

                              - -

                              It also works nicely with rapid hints:

                              -
                              -
                              -
                              :bind m spawn umpv {url}
                              -:bind M hint links spawn umpv {hint-url}
                              -:bind ;M hint --rapid links spawn umpv {hint-url}
                              -
                              -
                            18. -
                            19. -

                              -How do I use qutebrowser with mutt? -

                              -

                              - Due to a Qt limitation, local files without .html extensions are - "downloaded" instead of displayed, see - #566. You can work - around this by using this in your mailcap: -

                              -
                              -
                              -
                                  text/html; mv %s %s.html && qutebrowser %s.html >/dev/null 2>/dev/null; needsterminal;
                              -
                              -
                            20. -
                            21. -

                              -What is the difference between bookmarks and quickmarks? -

                              -

                              - Bookmarks will always use the title of the website as their name, but with quickmarks - you can set your own title. -

                              -

                              For example, if you bookmark multiple food recipe websites and use :open, -you have to type the title or address of the website.

                              -

                              When using quickmark, you can give them all names, like -foodrecipes1, foodrecipes2 and so on. When you type -:open foodrecipes, you will see a list of all the food recipe sites, -without having to remember the exact website title or address.

                              -
                            22. -
                            23. -

                              -How do I use spell checking? -

                              -

                              - Qutebrowser’s support for spell checking is somewhat limited at the moment - (see #700), but it - can be done. -

                              -

                              For QtWebKit:

                              -
                                -
                              1. -

                                -Install qtwebkit-plugins. -

                                -
                              2. -
                              3. -

                                -Note: with QtWebKit reloaded you may experience some issues. See - #10. -

                                -
                              4. -
                              5. -

                                -The dictionary to use is taken from the DICTIONARY environment variable. - The default is en_US. For example to use Dutch spell check set DICTIONARY - to nl_NL; you can’t use multiple dictionaries or change them at runtime at - the moment. - (also see the README file for qtwebkit-plugins). -

                                -
                              6. -
                              7. -

                                -Remember to install the hunspell dictionaries if you don’t have them already - (most distros should have packages for this). -

                                -
                              8. -
                              -

                              For QtWebEngine:

                              -
                                -
                              1. -

                                -Not yet supported unfortunately :-(
                                - Adding it shouldn’t be too hard though, since QtWebEngine 5.8 added an API for - this (see - this - comment for a basic example), so what are you waiting for and why aren’t you - hacking qutebrowser yet? -

                                -
                              2. -
                              -
                            24. -
                            25. -

                              -How do I use Tor with qutebrowser? -

                              -

                              - Start tor on your machine, and do :set network proxy socks://localhost:9050/ - in qutebrowser. Note this won’t give you the same amount of fingerprinting - protection that the Tor Browser does, but it’s useful to be able to access - .onion sites. -

                              -
                            26. -
                            27. -

                              -Why does J move to the next (right) tab, and K to the previous (left) one? -

                              -

                              - One reason is because dwb did it that way, - and qutebrowser’s keybindings are designed to be compatible with dwb’s. - The rationale behind it is that J is "down" in vim, and K is "up", which - corresponds nicely to "next"/"previous". It also makes much more sense with - vertical tabs (e.g. :set tabs position left). -

                              -
                            28. -
                            29. -

                              -What’s the difference between insert and passthrough mode? -

                              -

                              - They are quite similar, but insert mode has some bindings (like Ctrl-e to - open an editor) while passthrough mode only has escape bound. It might also - be useful to rebind escape to something else in passthrough mode only, to be - able to send an escape keypress to the website. -

                              -
                            30. -
                            -
                            -
                            -
                            -

                            Troubleshooting

                            -
                            -
                            -
                            -Configuration not saved after modifying config. -
                            -
                            -

                            - When editing your config file manually, qutebrowser must be exited completely. - This can be done by issuing the command :quit or by pressing Ctrl+q. -

                            -
                            -
                            -Unable to view flash content. -
                            -
                            -

                            - If you have flash installed for on your system, it’s necessary to enable plugins - to use the flash plugin. Using the command :set content allow-plugins true - in qutebrowser will enable plugins. Packages for flash should - be provided for your platform or it can be obtained from - Adobe. -

                            -
                            -
                            -Experiencing freezing on sites like duckduckgo and youtube. -
                            -
                            -

                            - This issue could be caused by stale plugin files installed by mozplugger - if mozplugger was subsequently removed. - Try exiting qutebrowser and removing ~/.mozilla/plugins/mozplugger*.so. - See Issue #357 - for more details. -

                            -
                            -
                            -Experiencing segfaults (crashes) on Debian systems. -
                            -
                            -

                            - For Debian it’s highly recommended to install the gstreamer0.10-plugins-base package. - This is a workaround for a bug in Qt, it has been fixed upstream in Qt 5.4 - More details can be found - here. -

                            -
                            -
                            -Segfaults on Facebook, Medium, Amazon, … -
                            -
                            -

                            - If you are on a Debian or Ubuntu based system, you might experience some crashes - visiting these sites. This is caused by various bugs in Qt which have been - fixed in Qt 5.4. However Debian and Ubuntu are slow to adopt or upgrade - some packages. On Debian Jessie, it’s recommended to use the experimental - repos as described in INSTALL. -

                            -

                            Since Ubuntu Trusty (using Qt 5.2.1), -over -70 important bugs have been fixed in QtWebKit. For Debian Jessie (using Qt 5.3.2) -it’s still -nearly -20 important bugs.

                            -
                            -
                            -My issue is not listed. -
                            -
                            -

                            - If you experience any segfaults or crashes, you can report the issue in - the issue tracker or - using the :report command. - If you are reporting a segfault, make sure you read the - guide on how to report them with all needed - information. -

                            -
                            -
                            -
                            -
                            -
                            -

                            - - - Binary files 1.3.0-1/qutebrowser/html/doc/icon.png and 1.3.2-1/qutebrowser/html/doc/icon.png differ diff -pruN 1.3.0-1/qutebrowser/html/doc/index.html 1.3.2-1/qutebrowser/html/doc/index.html --- 1.3.0-1/qutebrowser/html/doc/index.html 2018-05-04 05:54:19.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/index.html 2018-06-10 14:01:32.000000000 +0000 @@ -905,7 +905,7 @@ along with this program. If not, see
                            diff -pruN 1.3.0-1/qutebrowser/html/doc/quickstart.html 1.3.2-1/qutebrowser/html/doc/quickstart.html --- 1.3.0-1/qutebrowser/html/doc/quickstart.html 2018-05-04 05:54:06.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/quickstart.html 2018-06-10 14:01:16.000000000 +0000 @@ -983,7 +983,7 @@ Bitcoin:
                            diff -pruN 1.3.0-1/qutebrowser/html/doc/settings.html 1.3.2-1/qutebrowser/html/doc/settings.html --- 1.3.0-1/qutebrowser/html/doc/settings.html 2018-05-04 05:54:18.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/settings.html 2018-06-10 14:01:32.000000000 +0000 @@ -6657,7 +6657,7 @@ cellspacing="0" cellpadding="4"> diff -pruN 1.3.0-1/qutebrowser/html/doc/userscripts.html 1.3.2-1/qutebrowser/html/doc/userscripts.html --- 1.3.0-1/qutebrowser/html/doc/userscripts.html 2018-05-04 05:54:07.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/doc/userscripts.html 2018-06-10 14:01:17.000000000 +0000 @@ -963,7 +963,7 @@ Node.js:
                          diff -pruN 1.3.0-1/qutebrowser/html/error.html 1.3.2-1/qutebrowser/html/error.html --- 1.3.0-1/qutebrowser/html/error.html 2018-02-23 16:14:22.000000000 +0000 +++ 1.3.2-1/qutebrowser/html/error.html 2018-06-10 13:34:34.000000000 +0000 @@ -74,7 +74,7 @@ function tryagain()

                          Unable to load page

                          - Error while opening {{ url }}
                          + Error while opening {{ url | default('page', true) }}

                          {{ error }}



                          diff -pruN 1.3.0-1/qutebrowser/__init__.py 1.3.2-1/qutebrowser/__init__.py --- 1.3.0-1/qutebrowser/__init__.py 2018-05-03 17:25:04.000000000 +0000 +++ 1.3.2-1/qutebrowser/__init__.py 2018-06-10 13:59:48.000000000 +0000 @@ -26,7 +26,7 @@ __copyright__ = "Copyright 2014-2018 Flo __license__ = "GPL" __maintainer__ = __author__ __email__ = "mail@qutebrowser.org" -__version_info__ = (1, 3, 0) +__version_info__ = (1, 3, 2) __version__ = '.'.join(str(e) for e in __version_info__) __description__ = "A keyboard-driven, vim-like browser based on PyQt5." diff -pruN 1.3.0-1/qutebrowser/keyinput/basekeyparser.py 1.3.2-1/qutebrowser/keyinput/basekeyparser.py --- 1.3.0-1/qutebrowser/keyinput/basekeyparser.py 2018-04-29 13:45:25.000000000 +0000 +++ 1.3.2-1/qutebrowser/keyinput/basekeyparser.py 2018-06-10 13:34:34.000000000 +0000 @@ -19,6 +19,8 @@ """Base class for vim-like key sequence parser.""" +import string + from PyQt5.QtCore import pyqtSignal, QObject from PyQt5.QtGui import QKeySequence @@ -136,7 +138,7 @@ class BaseKeyParser(QObject): def _match_count(self, sequence, dry_run): """Try to match a key as count.""" txt = str(sequence[-1]) # To account for sequences changed above. - if (txt.isdigit() and self._supports_count and + if (txt in string.digits and self._supports_count and not (not self._count and txt == '0')): self._debug_log("Trying match as count") assert len(txt) == 1, txt diff -pruN 1.3.0-1/qutebrowser/mainwindow/tabbedbrowser.py 1.3.2-1/qutebrowser/mainwindow/tabbedbrowser.py --- 1.3.0-1/qutebrowser/mainwindow/tabbedbrowser.py 2018-05-03 15:55:54.000000000 +0000 +++ 1.3.2-1/qutebrowser/mainwindow/tabbedbrowser.py 2018-06-10 13:34:34.000000000 +0000 @@ -490,6 +490,7 @@ class TabbedBrowser(QWidget): else: self.widget.setCurrentWidget(tab) # WORKAROUND for https://bugreports.qt.io/browse/QTBUG-68076 + # Still seems to be needed with Qt 5.11.1 tab.setFocus() tab.show() diff -pruN 1.3.0-1/qutebrowser/misc/miscwidgets.py 1.3.2-1/qutebrowser/misc/miscwidgets.py --- 1.3.0-1/qutebrowser/misc/miscwidgets.py 2018-04-16 17:05:44.000000000 +0000 +++ 1.3.2-1/qutebrowser/misc/miscwidgets.py 2018-06-10 13:34:34.000000000 +0000 @@ -266,6 +266,47 @@ class WrapperLayout(QLayout): self._widget.deleteLater() +class PseudoLayout(QLayout): + + """A layout which isn't actually a real layout. + + This is used to replace QWebEngineView's internal layout, as a WORKAROUND + for https://bugreports.qt.io/browse/QTBUG-68224 and other related issues. + + This is partly inspired by https://codereview.qt-project.org/#/c/230894/ + which does something similar as part of Qt. + """ + + def addItem(self, item): + assert self.parent() is not None + item.widget().setParent(self.parent()) + + def removeItem(self, item): + item.widget().setParent(None) + + def count(self): + return 0 + + def itemAt(self, _pos): + return None + + def widget(self): + return self.parent().render_widget() + + def setGeometry(self, rect): + """Resize the render widget when the view is resized.""" + widget = self.widget() + if widget is not None: + widget.setGeometry(rect) + + def sizeHint(self): + """Make sure the view has the sizeHint of the render widget.""" + widget = self.widget() + if widget is not None: + return widget.sizeHint() + return QSize() + + class FullscreenNotification(QLabel): """A label telling the user this page is now fullscreen.""" diff -pruN 1.3.0-1/qutebrowser/utils/urlutils.py 1.3.2-1/qutebrowser/utils/urlutils.py --- 1.3.0-1/qutebrowser/utils/urlutils.py 2018-04-29 13:45:25.000000000 +0000 +++ 1.3.2-1/qutebrowser/utils/urlutils.py 2018-06-10 13:34:34.000000000 +0000 @@ -39,6 +39,21 @@ from qutebrowser.browser.network import # https://github.com/qutebrowser/qutebrowser/issues/108 +# URL schemes supported by QtWebEngine +WEBENGINE_SCHEMES = [ + 'about', + 'data', + 'file', + 'filesystem', + 'ftp', + 'http', + 'https', + 'javascript', + 'ws', + 'wss', +] + + class InvalidUrlError(ValueError): """Error raised if a function got an invalid URL. diff -pruN 1.3.0-1/qutebrowser.egg-info/PKG-INFO 1.3.2-1/qutebrowser.egg-info/PKG-INFO --- 1.3.0-1/qutebrowser.egg-info/PKG-INFO 2018-05-04 05:54:21.000000000 +0000 +++ 1.3.2-1/qutebrowser.egg-info/PKG-INFO 2018-06-10 14:01:36.000000000 +0000 @@ -1,12 +1,11 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: qutebrowser -Version: 1.3.0 +Version: 1.3.2 Summary: A keyboard-driven, vim-like browser based on PyQt5. Home-page: https://www.qutebrowser.org/ Author: Florian Bruhin Author-email: mail@qutebrowser.org License: GPL -Description-Content-Type: UNKNOWN Description: // If you are reading this in plaintext or on PyPi: // // A rendered version is available at: @@ -261,3 +260,4 @@ Classifier: Topic :: Internet Classifier: Topic :: Internet :: WWW/HTTP Classifier: Topic :: Internet :: WWW/HTTP :: Browsers Requires-Python: >=3.5 +Description-Content-Type: text/plain diff -pruN 1.3.0-1/qutebrowser.egg-info/SOURCES.txt 1.3.2-1/qutebrowser.egg-info/SOURCES.txt --- 1.3.0-1/qutebrowser.egg-info/SOURCES.txt 2018-05-04 05:54:21.000000000 +0000 +++ 1.3.2-1/qutebrowser.egg-info/SOURCES.txt 2018-06-10 14:01:36.000000000 +0000 @@ -5,12 +5,8 @@ qutebrowser.py requirements.txt setup.py tox.ini -doc/backers.html doc/changelog.asciidoc -doc/changelog.html doc/contributing.html -doc/faq.html -doc/install.html doc/qutebrowser.1 doc/qutebrowser.1.asciidoc doc/img/cheatsheet-big.png @@ -197,15 +193,11 @@ qutebrowser/html/settings.html qutebrowser/html/styled.html qutebrowser/html/tabs.html qutebrowser/html/version.html -qutebrowser/html/doc/CHANGELOG.html -qutebrowser/html/doc/CONTRIBUTING.html -qutebrowser/html/doc/FAQ.html qutebrowser/html/doc/changelog.html qutebrowser/html/doc/commands.html qutebrowser/html/doc/configuring.html qutebrowser/html/doc/contributing.html qutebrowser/html/doc/faq.html -qutebrowser/html/doc/icon.png qutebrowser/html/doc/index.html qutebrowser/html/doc/quickstart.html qutebrowser/html/doc/settings.html diff -pruN 1.3.0-1/setup.py 1.3.2-1/setup.py --- 1.3.0-1/setup.py 2018-03-13 16:51:16.000000000 +0000 +++ 1.3.2-1/setup.py 2018-06-10 13:34:34.000000000 +0000 @@ -77,6 +77,7 @@ try: version='.'.join(str(e) for e in _get_constant('version_info')), description=_get_constant('description'), long_description=read_file('README.asciidoc'), + long_description_content_type='text/plain', url='https://www.qutebrowser.org/', author=_get_constant('author'), author_email=_get_constant('email'),