The qutebrowser 3.5.0 web browser has been released. It provides a minimal graphical interface that does not distract from viewing the content, and a navigation system in the style of the Vim text editor, built entirely on keyboard shortcuts. The code is written in Python using PyQt and QtWebEngine. The source code is distributed under the GPLv3 license. The use of Python does not affect performance, since rendering and parsing of content is performed by the Blink engine and the Qt library.
The browser supports a tabbed browsing system, a download manager, a private browsing mode, a built-in PDF viewer (pdf.js), an ad blocking system (at the host blocking level), an interface for viewing browsing history. To watch YouTube videos, you can set up to call an external video player. Moving around the page is carried out using the "hjkl" keys, to open a new page you can press "o", switching between tabs is done using the "J" and "K" keys or "Alt-tab number". Pressing ":" brings up a command line prompt where you can search the page and execute typical commands like in vim, such as ":q" to quit and ":w" to write the page. For a quick transition to page elements, a system of "hints" is proposed, which marks links and images.

In the new version:
- The browser identifier (user agent) has been switched to use the shortened version number of Chromium, without mentioning QtWebEngine, i.e. the User Agent header is now equivalent to the header set by regular Chromium. The change was made to bypass blocking by anti-bot systems that recognize requests from QtWebEngine as bot requests (for example, QtWebEngine is blocked by the sites Whatsapp Web, UPS and Digitec Galaxus).
- Assemblies for Windows и macOS transferred to use Qt 6.9.0.
- The Chromium 130.0.6723.192 engine is used as a basis, to which vulnerability fixes from Chromium 133.0.6943.141 have been transferred.
- The "content.headers.user_agent" setting now supports the "{upstream_browser_version_short}" substitution, which contains the version of the Chromium engine used.
- Expanded userscripts capabilities: qute-bitwarden now supports passing a password to a child process via an environment variable instead of specifying it as a command line option.
- Added debug flag "-D no-system-pdfjs" to ignore the system PDF viewer PDF.js.
- Added a wrapper to support the URL.parse method, which is missing in QtWebEngine < 6.9 and used in PDF.js 5.
Source: opennet.ru
