Added
- New settings:
* `tabs.new_position.stacking` which controls whether new tabs opened from a
page should stack on each other or not.
* `completion.open_categories` which allows to configure which categories are
shown in the `:open` completion, and how they are ordered.
* `tabs.pinned.frozen` to allow/deny navigating in pinned tabs.
* `hints.selectors` which allows to configure what CSS selectors are used for
hints, and also allows adding custom hint groups.
* `input.insert_mode.leave_on_load` to turn off leaving insert mode when a
new page is loaded.
- New config manipulation commands:
* `:config-dict-add` and `:config-list-add` to a new element to a dict/list
setting.
* `:config-dict-remove` and `:config-list-remove` to remove an element from a
dict/list setting.
- New `:yank markdown` feature which yanks the current URL and title in
markdown format.
- Support for new QtWebEngine features in Qt 5.12:
* Basic support for client certificates. Selecting the certificate to use
when there are multiple matching certificates isn't implemented yet.
* Support for DNS prefetching (plus new `content.dns_prefetch` setting).
Changed
- Various changes to the Windows and macOS builds:
* Bundling Qt 5.12.1, based on Chromium 69.0.3497.128 with security fixes up
to 71.0.3578.94.
* Windows: A 32-bit build is available again.
* Windows: The builds now bundle the Universal CRT DLLs, causing them to work
on earlier versions of Windows 10.
* macOS: Support for OS X 10.11 El Capitan was dropped, requiring macOS 10.12
Sierra or newer.
* macOS: The IPC socket path used to communicate with existing instances
changed due to changes in Qt 5.12. Please make sure to quit qutebrowser
before upgrading.
- `:q` now closes the current window instead of quitting qutebrowser completely
(`:close`), while `:qa` quits (`:quit`). The behavior of `:wq` remains
unchanged (`:quit --save`), as closing a window while saving the session
doesn't make sense.
- Completion highlighting is now done differently (using `QSyntaxHighlighter`),
which should fix some highlighting corner-cases.
- The `QtColor` config type now also understands colors like `rgb(...)`.
- `:yank` now has a `--quiet` option which causes it to not display a message.
- The `:open` completion now also shows search engines by default.
- The `content.host_blocking.enabled` setting now supports URL patterns, so the
adblocker can be disabled on a given page.
- Elements with a `tabindex` attribute now also get hints by default.
- Various small performance improvements for hints and the completion.
- The Wayland check for QtWebEngine is now disabled on Qt >= 5.11.2, as those
versions should work without any issues.
- The JavaScript `console` object is now available in PAC files.
- PAC proxies currently don't work properly on QtWebEngine (and never did), so
an error is now shown when trying to configure a PAC proxy.
- The metainfo file `qutebrowser.appdata.xml` is now renamed to
`org.qutebrowser.qutebrowser.appdata.xml`.
- The `qute-pass` userscript now understands domains in gpg filenames
in addition to directory names.
- The autocompletion for `content.headers.user_agent` got updated to only
include the default and Chrome, as setting the UA to Firefox has various
bad side-effects.
- Combining Qt 5.12 with an older PyQt can lead to issues, so a warning is
now shown when starting qutebrowser with that combination.
Fixed
- Invalid world IDs now get rejected for `:jseval` and GreaseMonkey scripts.
- When websites suggest download filenames with invalid characters, those are
now correctly replaced.
- Invalid hint length calculation in certain rare cases.
- Dragging tabs in the tab bar (which was broken in v1.5.0)
- Using Shift-Home in command mode now works properly.
- Workaround for a Qt bug which prevented
`content.cookies.accept = no-3rdparty` from working properly on some pages
like GMail. However, the default for `content.cookies.accept` is still `all`
to be in line with what other browsers do.
- `:navigate` not incrementing in anchors or queries.
- Crash when trying to use a proxy requiring authentication with QtWebKit.
- Slashes in search terms are now percent-escaped.
- When `scrolling.bar = True` was set in versions before v1.5.0, this now
correctly gets migrated to `always` instead of `when-searching`.
- Completion highlighting now works again on Qt 5.11.3 and 5.12.1.
- The non-standard header `X-Do-Not-Track` is no longer sent.
- PAC proxies were never correctly supported with QtWebEngine, but are now
explicitly disallowed.
- macOS: Context menus for download items now show in the correct macOS style.
- Issues with fullscreen handling when exiting a video player.
- Various fixes for Qt 5.12 issues:
* A javascript error on page load was fixed.
* `window.print()` works with Qt 5.12 now.
* Fixed handling of duplicate download filenames.
* Fixed broken `qute://history` page.
* Fixed PDF.js not working properly.
* The download button in PDF.js now works (it's not possible to make
it work with earlier Qt versions).
* Since Greasemonkey scripts modifying the DOM fail when being run at
document-start, some known-broken scripts (Iridium, userstyles.org) are now
forced to run at document-end.