Skip to content

Releases: qutebrowser/qutebrowser

qutebrowser v0.8.1

27 Jul 10:35
Compare
Choose a tag to compare

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 OS X .app

qutebrowser v0.8.0

26 Jul 11:39
Compare
Choose a tag to compare

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

qutebrowser v0.7.0

10 Jun 13:28
Compare
Choose a tag to compare

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.

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
  • Counts can now be used with special keybindings (e.g. with modifiers)
  • 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 an 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 a 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

qutebrowser v0.6.2

30 Apr 16:19
Compare
Choose a tag to compare

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

qutebrowser v0.6.1

10 Apr 19:18
Compare
Choose a tag to compare

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

qutebrowser v0.6.0

04 Apr 16:35
Compare
Choose a tag to compare

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.

qutebrowser v0.5.1

18 Jan 21:15
Compare
Choose a tag to compare

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.

qutebrowser v0.5.0

05 Jan 18:49
Compare
Choose a tag to compare

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

qutebrowser v0.4.1

30 Sep 17:12
Compare
Choose a tag to compare
  • 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.

qutebrowser v0.4.0

11 Sep 16:51
Compare
Choose a tag to compare

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/easttotop/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 OS X 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.