[qutebrowser] qutebrowser v2.5.0 released!

Florian Bruhin me at the-compiler.org
Fri Apr 1 19:44:55 CEST 2022


Hey,

I'm happy to announce that I just released qutebrowser 2.5.0, almost
half a year after the previous 2.4.0 release!
https://github.com/qutebrowser/qutebrowser/releases/tag/v2.5.0

After this release, plans are to work towards a 3.0.0, with various old
stuff being removed, and support for Qt 6 being finally added. See the
"deprecated" section in the changelog below for details.

Despite the date, there are no April Fools in this release I'm afraid.
If you still want a laugh, try ":Ni!" - for context:
https://www.youtube.com/watch?v=zIV4poUZAQo

Trivia: I had a lot of fun back on April 1st 2015, where qutebrowser had
a lot less users, and I tilted everyone's websites by 3 degrees:
https://github.com/qutebrowser/qutebrowser/commit/a98060e020a4ba83b663813a4b9404edb47f28ad

Anyways, enough babbling - here is the full changelog:

Deprecated
~~~~~~~~~~

- v2.5.x will be the last release of qutebrowser 2.
  **For the upcoming 3.0.0 release**, it's planned to drop support for various
  legacy platforms and libraries which are unsupported upstream, such as:
  * Qt before 5.15 LTS (plus adding support for Qt 6.2+)
  * Python 3.6
  * The QtWebKit backend
  * macOS 10.14 (via Homebrew)
  * 32-bit Windows (via Qt)
  * Windows 8 (via Qt)
  * Windows 10 before 1809 (via Qt)
  * Possibly other more minor dependency changes
- The `:rl-unix-word-rubout` command (`<Ctrl-W>` in command/prompt modes) has
  been deprecated. Use `:rl-rubout " "` instead.
- The `:rl-unix-filename-rubout` command has been deprecated. Use either
  `:rl-rubout "/ "` (classic readline behavior) or `:rl-filename-rubout` (using
  OS path separator and ignoring spaces) instead.

Changed
~~~~~~~

- Improved message if a spawned process wasn't found and a Flatpak container is
  in use.
- The `:tab-move` command now takes `start` and `end` as `index` to move a tab
  to the first/last position.
- Tests now automatically pick the backend (QtWebKit/QtWebEngine) based on
  what's available. The `QUTE_BDD_WEBENGINE` environment variable and
  `--qute-bdd-webengine` argument got replaced by `QUTE_TESTS_BACKEND` and
  `--qute-backend` respectively, which can be set to either `webengine` or
  `webkit`.
- Using `:tab-give` or `:tab-take` on the last tab in a window now always
  closes that window, no matter what `tabs.last_close` is set to.
- Redesigned `qute://settings` (`:set`) page with buttons for options with
  fixed values.
- The default `hint.selectors` now match more ARIA roles (`tab`, `checkbox`,
  `menuitem`, `menuitemcheckbox` and `menuitemradio`).
- Using e.g. `:bind --mode=passthrough` now scrolls to the passthrough section
  on the `qute://bindings` page.
- Clicking on a notification now tries to focus the tab where the notification
  is coming from. Note this might not work properly if there is more than one
  tab from the same host open.
- Improvements to userscripts:
  * `qute-bitwarden` understands a new `--password-prompt-invocation`, which can
    be used to specify a tool other than `rofi` to ask for a password.
  * `cast` now uses `yt-dlp` if available (falling back to `youtube-dl` if not).
    It also lets users override the tool to use via a `QUTE_CAST_YTDL_PROGRAM`
    environment variable.
  * `qute-pass` now understands a new `--prefix` argument if used in gopass
    mode, which gets passed as subfolder prefix to `gopass`.
  * `open_download` now supports Flatpak by using its XDG Desktop Portal.
  * `open_download` now waits for the exit status of `xdg-open`, causing
    qutebrowser to report any issues with it.
- The `content.headers.custom` setting now accepts empty strings as values,
  resulting in an empty header being sent.
- Renamed settings:
  * `qt.low_end_device_mode` -> `qt.chromium.low_end_device_mode`
  * `qt.process_model` -> `qt.chromium.process_model`
- System-wide userscripts are now discovered from the correct location when
  running via Flatpak (`/app/share` rather than `/usr/share`).
- Filename prompts now don't display a `..` entry in the list of files anymore.
  To get back to the parent directory, either type `../` manually, or use the new
  `:rl-filename-rubout` command, bound to `<Ctrl-Shift-W>` by default.

Added
~~~~~

- New `input.match_counts` option which allows to turn off count matching for
  more emacs-like bindings.
- New `{relative_index}` field for `tabs.title.format` (and `.pinned_format`)
  which shows relative tab numbers.
- New `input.mode_override` option which allows overriding the current mode
  based on the new URL when navigating or switching tabs.
- New `qt.chromium.sandboxing` setting which allows to disable Chromium's
  sandboxing (mainly intended for development and testing).
- New `QUTE_TAB_INDEX` variable for userscripts, containing the index of the
  current tab.
- New `editor.remove_file` setting which can be set to `False` to keep all
  temporary editor files after closing the external editor.
- New `:rl-rubout` command replacing `:rl-unix-word-rubout` (and optionally
  `:rl-unix-filename-rubout`), taking a delimiter as argument.
- New `:rl-filename-rubout` command, using the OS path separator and ignoring
  spaces. The command also gets shown in the suggested commands for a download
  filename prompt now.

Fixed
~~~~~

- When `search.incremental` is disabled, searching using `/text` followed by a
  backwards search via `?text` (or vice-versa) now correctly changes the search
  direction.
- Elements getting a hint due to a `tabindex` now are skipped if it's set to
  `-1`, reducing some false-positives.
- The audible indicator (`[A]`) now uses a 2s cooldown when the audio goes
  silent, equivalent with the behavior of older QtWebEngine versions.
- With `confirm_quit` set to `downloads`, the confirmation dialog is now only
  shown when closing the last window (rather than closing any window, which
  would continue running that window's downloads). Unfortunately, more issues
  with `confirm_quit` and multiple windows remain.
- Crash when a previous crash-log file contains non-ASCII characters (which
  should never happen unless it was edited manually)
- Due to changes in Debian, an old workaround (for broken QtWebEngine patching
  on Debian) caused the inferior qutebrowser error page to be displayed, when
  Chromium's would have worked fine. The workaround was now dropped.
- Crash when using `<Ctrl-D>` (`:completion-item-del`) in the `:tab-focus`
  list, rather than `:tab-select`.
- Work around a Qt issue causing `:spawn` to run executables from the current
  directory if no system-wide executable was found. The underlying Qt bug is
  tracked as [CVE-2022-25255](https://lists.qt-project.org/pipermail/announce/2022-February/000333.html),
  though the impact with typical qutebrowser usage is low: Normally,
  qutebrowser is run from a fixed location (usually the users home directory),
  and `:spawn` is not typically used with executables that don't exist. The main
  security impact of this bug is in tools like text editors, which are often
  executed in untrusted directories and might attempt to run auxiliary tools
  automatically.
- When `:rl-rubout` or `:rl-filename-rubout` (formerly `:rl-unix-word-rubout`
  and `:rl-unix-filename-rubout`) were used on a string not starting with the
  given delimiter, they failed to delete the first character, which is now fixed.
- Fixes in userscripts:
  * `ripbang` now works again (it got blocked due to a missing user agent and
    used outdated qutebrowser commands before)
  * `keepassxc` now has a properly working `--insecure` flag
- Speculative fix for an immediate crash at start with the macOS/Windows
  binaries (in certain rare environments).
- Speculative fix for a qutebrowser crash when the notification daemon crashes
  while showing the notification.
- Fix crash when using `:screenshot` with an invalid `--rect` argument.
- Added a site-specific quirk to make cookie dialogs on StackExchange pages
  (such as Stack Overflow) work on Qt 5.12.

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://listi.jpberlin.de/pipermail/qutebrowser/attachments/20220401/f06d8eb8/attachment.asc>


More information about the qutebrowser mailing list