[qutebrowser] qutebrowser v2.1.0 released! / "Network service crashed, restarting service"

Florian Bruhin me at the-compiler.org
Fri Mar 12 15:29:44 CET 2021


Hey,

I'm happy to announce that I've released qutebrowser v2.1.0 today!

The main change in this release are various changes for compatibility
with QtWebEngine 5.15.3 (most notably its dark mode changes) and PyQt
5.15.3 and .4.

There's also a workaround for a bug in QtWebEngine 5.15.3 which causes
qutebrowser to be unusable with certain locales (Country-specific LANG
values other than en_US/en_GB). If you get "Network service crashed, restarting
service" in your terminal, you're affected by this bug. You can set the
qt.workarounds.locale settings to make qutebrowser work around it.
The workaround is disabled by default because a proper fix is expected
to land in affected distributions soon (Archlinux and Gentoo as for
now).

Finally, there are some other bugfixes as well, as well as a couple new
features. Here's the full changelog:

Removed
~~~~~~~

- The following command aliases were deprecated in v2.0.0 and are now removed:
  * `run-macro` -> `macro-run`
  * `record-macro` -> `macro-record`
  * `buffer` -> `tab-select`
  * `open-editor` -> `edit-text`
  * `toggle-selection` -> `selection-toggle`
  * `drop-selection` -> `selection-drop`
  * `reverse-selection` -> `selection-reverse`
  * `follow-selected` -> `selection-follow`
  * `follow-hint` -> `hint-follow`
  * `enter-mode` -> `mode-enter`
  * `leave-mode` -> `mode-leave`

Added
~~~~~

- New `:screenshot` command which can be used to screenshot the visible part of
  the page.
- New optional dependency on the `importlib_metadata` project on Python 3.7 and
  below. This is only relevant when PyQtWebEngine is installed via pip - thus,
  this dependency usually isn't relevant for packagers.
- New `qute-keepassxc` userscript integrating with the KeePassXC browser API.

Changed
~~~~~~~

- Initial support for QtWebEngine 5.15.3 and PyQt 5.15.3/.4
- The `colors.webpage.prefers_color_scheme_dark` setting got renamed to
  `colors.webpage.preferred_color_scheme` and now takes the values `auto`, `light`
  and `dark` (instead of being `True` for dark and `False` for auto).
  Note that the `light` value is only supported with Qt 5.15.2+, falling back to
  the same behavior as `auto` on older versions.
- On Linux, qutebrowser now tries harder to find details about the installed
  QtWebEngine version by inspecting the QtWebEngine binary. This should reduce
  issues with dark mode (and some workarounds) not working when using differing
  versions of QtWebEngine/PyQtWebEngine/Qt.
  This change also prepares qutebrowser for QtWebEngine 5.15.3, which will get
  released without an updated Qt.
- When PyQtWebEngine >= 5.15.3 is installed via `pip` (as is e.g. the case with
  `mkvenv.py`), qutebrowser now queries the associated metadata to find out the
  QtWebEngine version.
- When doing `:hint links yank --rapid`, the messages shown now replace each
  other, thus being less noisy.
- Newlines in JavaScript messages (`confirm`, `prompt` and `alert`) are now
  preserved.
- Messages in prompts are now word-wrapped rather than displaying them in one
  long line.
- If a command stats with space (e.g. `: open ...`, it's now not saved to
  command history anymore (similar to how some shells work).
- When a tab is pinned, running `:open` will now open a new tab instead of
  displaying an error.
- The `fileselect.*.command` settings now support file selectors writing the
  selected paths to stdout, which is used if no `{}` placeholder is contained in
  the configured command.
- The `--debug-flag` argument now understands a new `log-sensitive-keys` value
  which logs all keypresses (including those in insert/passthrough/prompt/...
  mode) for debugging.
- The `readability` and `readability-js` userscripts now add a
  `qute-readability` CSS class to the page, so that it can be styled easily via
  a user stylesheet.

Fixed
~~~~~

- With QtWebEngine 5.15.3 and some locales, Chromium can't start its
  subprocesses. As a result, qutebrowser only shows a blank page and logs
  "Network service crashed, restarting service.".  This release adds a
  `qt.workarounds.locale` setting working around the issue. It is disabled by
  default since distributions shipping 5.15.3 will probably have a proper patch
  for it backported very soon.
- The `colors.webpage.preferred_color_scheme` and `colors.webpage.darkmode.*`
  settings now work correctly with QtWebEngine 5.15.3 (and Gentoo, which at the
  time of writing packages 5.15.3 disguised as 5.15.2).
- When dark mode settings were set, existing `blink-features` arguments in
  `qt.args` (or `--qt-flag`) were overridden. They are now combined properly.
- On QtWebEngine 5.15.2, auto detection for the `prefers-color-scheme` media
  query is broken and always returns `no-preference`, which was removed from the
  CSS WG Specification. This release contains a workaround to always return
  `light` instead (as per the spec).
- When an external file selector deletes the temporary file (like `nnn` does
  when quitting the terminal), qutebrowser would crash. It now displays an
  error instead. The same applies if the temporary file is unreadable for any
  other reason.
- On macOS, a change in v2.0.x caused certain shortcuts to not work with Cmd
  anymore, using Ctrl instead. They now work correctly using Cmd (like usual on
  macOS) again.
- On macOS, using `F` (`hint all tab`) sometimes would open a context menu
  instead of following a link. This is now fixed.
- The quirk added for a missing `String.replaceAll` did not handle special
  regexp characters correctly, thus breaking some sites. It now handles them
  properly.
- The "try again" button on error pages now works correctly with JavaScript
  disabled.
- If a GreaseMonkey script doesn't have a "@run-at" comment, qutebrowser
  accidentally treated that as "@run-at document-idle". However, other
  GreaseMonkey implementations default to "@run-at document-end" instead, which
  is what qutebrowser now does, too.
- The `hist_importer.py` script didn't work correctly after qutebrowser v2.0.0
  and resulted in a history database qutebrowser couldn't read properly. It now
  works properly again.
- With certain QtWebEngine versions (5.15.0 based on Chromium 80 and 5.15.3
  based on Chromium 87), Chromium's dark mode doesn't invert certain SVG images,
  even with `colors.wegpage.darkmode.policy.images` set to `smart`.
  Most notably, this causes formulae on Wikipedia to display black on (almost)
  black. If `content.site_specific_quirks` is enabled, qutebrowser now injects
  some CSS as a workaround, which inverts all math formula images on Wikipedia
  (and potentially other sites, if they use the same CSS class).
- When a hint label text started with an apostrophe, it would show an escaped
  text until the hints first character has been pressed. It now shows up
  correctly.

Thanks to everyone who was involved, and enjoy!

Florian

-- 
            me at the-compiler.org | https://www.qutebrowser.org 
       https://bruhin.software/ | https://github.com/sponsors/The-Compiler/
       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://lists.schokokeks.org/pipermail/qutebrowser/attachments/20210312/7bc56bd8/attachment-0001.asc>


More information about the qutebrowser mailing list