[qutebrowser] qutebrowser v1.7.0 released

Florian Bruhin me at the-compiler.org
Thu Jul 18 16:41:17 CEST 2019


Hi!

After some days of fighting with bugs/issues with pretty much anything (Qt,
PyQt, Python's packaging libraries, qutebrowser's release automation,
PyInstaller, apparently Virtualbox' network stack), qutebrowser v1.7.0 should
finally be ready.

v1.6.0 has been released in February, so v1.7.0 is pretty much overdue (so far,
releases happened roughly all two months). Unfortunately the Windows/macOS
releases still ship Qt 5.12 (rather than 5.13) due to Qt bugs, but as soon as
Qt/PyQt 5.13.1 are out, I expect to release v1.8.0 with Qt 5.13.

Also, the Windows release contains some minor additional changes on top of the
GitHub v1.7.0 tag (thanks to PyInstaller bugs) -- since this probably was the
most painful release in qutebrowser's history, I can't be bothered to release a
v1.7.1 because of that.

There were some changes to how releases are made (and a completely new Windows
installer), so please let me know if you spot any issues!

Here's the changelog:

## Added

- New settings:
  * `colors.tabs.pinned.*` to control colors of pinned tabs.
  * `hints.leave_on_load` which allows disabling leaving of hint mode when a
    new page is loaded.
  * `colors.completion.item.selected.match.fg` which allows configuring the
    text color for the matching text in the currently selected completion item.
  * `tabs.undo_stack_size` to limit how many undo entries are kept for closed tabs.
- New commands:
  * `:reverse-selection` (`o` in caret mode) to swap the stationary/moving ends
    of a selection.
- New commandline replacements:
  * `{url:domain}`, `{url:auth}`, `{url:scheme}`, `{url:username}`,
    `{url:password}`, `{url:host}`, `{url:port}`, `{url:path}`, `{url:query}`
    for the respective parts of the current URL.
  * `{title}` for the current page title.
- The `{title}` field in `tabs.title.format`, `tabs.title.format_pinned` and
  `window.title_format` got renamed to `{current_title}` (mirroring
  `{current_url}`) in order to not conflict with the new `{title}` commandline
  replacement.
- New `delete` target for `:hint` which removes the hinted element from
  the DOM.
- New `--config-py` commandline argument to use a custom `config.py` file.
- Qt 5.13: Support for notifications (shown via system tray).

## Changed

- Updated dependencies for Windows/macOS releases:
   - PyQt5 5.12.3 / PyQtWebEngine 5.12.1
   - Qt 5.12.4, which includes security fixes up to Chromium 74.0.3729.157
   - Python 3.7.4
   - OpenSSL 1.1.1
   - Note: This release includes Qt 5.12.4 instead of Qt 5.13.0 due to
     [QTBUG-76913](https://bugreports.qt.io/browse/QTBUG-76913) causing frequent
     segfaults with Qt 5.13. After Qt 5.13.1 is released, qutebrowser v1.8.0
     will be released with an updated Qt.
- Completely revamped Windows installer which allows installing without admin
  permissions and allows setting qutebrowser as default browser.
- The desktop file `qutebrowser.desktop` is now renamed to
  `org.qutebrowser.qutebrowser.desktop`.
- Pinned tabs now always show a favicon (even if the site doesn't provide one)
  when shrinking.
- Setting `downloads.location.directory` now changes the directory displayed in
  the download prompt even if `downloads.location.remember` is set.
- The `yank` command gained a new `inline` argument, which allows to e.g. use
  `:yank inline [{title}]({url})`.
- Duplicate consecutive history entries with the same URL are now ignored.
- More detailed error messages when spawning a process failed.
- The `content.pdfjs` setting now supports domain patterns.
- Improved process status output with `:spawn -o`.
- The `colors.tabs.bar.bg` setting is now of type `QssColor` and thus supports
  gradients.
- The `:fullscreen` command now understands a new `--enter` flag which
  causes it to always enter fullscreen instead of toggling the current
  state.
- `--debug-flag stack` is now needed to show stack traces on renderer process
  crashes.
- `--debug-flag chromium` can be used to easily turn on verbose Chromium logging.
- For runtime data (such as the IPC socket), a proper runtime path is now used
  on BSD; only macOS/Windows continue to use the temporary directory.
- PDF.js is now also searched in `/app/share/pdf.js/` (for Flatpak)
- Permission prompts can now be answered with `Y` (`:prompt-accept --save yes`)
  and `N` (`:prompt-accept --save no`) to save the answer as a per-domain
  setting.
- `content.dns_prefetch` is now turned off by default, as it causes crashes
  inside QtWebEngine.
- The (still unofficial) interceptor plugin API now contains `resource_type`
  for a request and allows redirecting requests.
- `:bookmark-remove` now shows a message for consistency with `:bookmark-add`.
- Very early segfaults are now also caught by the crash handler.
- The appdata XML now contains proper release information and an (empty) OARS
  content rating.
- Improved Linux distribution detection.
- Qt 5.13: Request filtering now happens in the UI rather than IO thread.
- Qt 5.13: Support for PDFium (Chromium's PDF viewer) is disabled for now so
  that PDFs can still be downloaded (or shown with PDF.js) properly.
- Various performance improvements (e.g. for showing hints or the :open
  completion).

## Deprecated

- `:yank markdown` got deprecated, as `:yank inline [{title}]({url})` can now
  be used instead.

## Fixed

- Various QtWebEngine load signals are now handled differently, which should
  fix issues with insert mode being left while typing on sites like Google
  Translate.
- Race condition causing a colored statusbar in normal mode when
  entering/exiting caret mode quickly.
- Using `100%` for a hue in a `hsv(...)` config value now corresponds to 359
  (rather than 255), matching the fixed behavior in Qt 5.13.
- Chaining commands with `;;` used to abort with some failing commands. It now
  runs the second command no matter whether the first one succeeded or not.
- Handling of profiles and private windows (and resulting crashes with Qt
  5.12.2).
- Fixes for corner-cases when using `:navigate increment/decrement`.
- The type for the `colors.hints.match.fg` setting was changed to `QtColor`.
  Gradients were never supported for this setting, and with this change, values
  like `rgb(0, 0, 0)` now work as well.
- Permission prompts now show a properly normalized URL with QtWebKit.
- Crash on start when PyQt was built without SSL support with Qt >= 5.12.
- Minor memory leaks.

Florian

-- 
https://www.qutebrowser.org | me at the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc
         I love long mails! | https://email.is-not-s.ms/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://listi.jpberlin.de/pipermail/qutebrowser/attachments/20190718/ff2fe9f6/attachment.asc>


More information about the qutebrowser mailing list