With the upcoming release of Leap 15.0 and current snapshots of Tumbleweed, the rolling release variant, openSUSE users get important updates to both QtWebKit and QtWebEngine.

QtWebKit

QtWebKit was officially abandoned by Qt Company in Qt 5.6. As the name suggests, it is a port of the WebKit engine primarily developed by Apple for Safari. Until recently openSUSE shipped the abandoned version of QtWebKit, however Konstantin Tokarev maintains an independent version of QtWebKit which merges work of the old Qt port with improvements the WebKit-GTK port made, like using CMake instead of QMake. More importantly, this new QtWebKit 5.212 raises the security patchlevel to that of WebKit-GTK 2.12 and also includes some additional backports. While that is hardly state of the art and I would strongly recommend against using a QtWebKit browser to surf the web, it is a huge improvement over shipping an abandoned release.

Shoutouts to Max Lin who brought QtWebKit 5.12 to openSUSE.

There are still good reasons why QtWebKit makes sense in certain controlled environments. WebKit works with more CPU architectures and uses less memory than QtWebEngine.

I have packaged a version of the QupZilla 1.8 web browser for evaluation purposes. You can use it to find and report bugs in QtWebKit but – as I said – I would not recommend using it as daily web browser.

QtWebEngine

QtWebEngine is the official successor of QtWebKit. It is based on the Chromium codebase developed by Google for Chrome. In most cases, it is a very good choice but there is also a downside: Its releases are tied to the rest of Qt 5. This is less of a problem for Tumbleweed which usually gets the latest Qt 5 version anyway but it is a big problem for Leap which as a distribution with long-term support uses the latest LTS version of Qt 5. During the support cycle of a Qt 5 LTS version, updates ship less frequently until only the most crucial bugs are fixed. The previous LTS version, 5.6, was released in March 2016 and did not get a single bugfix release between October 2016 (v5.6.2) and September 2017 (v5.6.3) and there hasn’t been one since. While that may be fine for the rest of Qt 5.6, there have been a bunch of security fixes to the Chromium codebase that users did not get.

This changes now. Following the example of the Fedora KDE team, we now ship the latest QtWebEngine release regardless of the rest of Qt.

This means: Leap 15 has Qt 5.9 LTS and QtWebEngine 5.10.1 and will get QtWebEngine 5.11 and further future versions ASAP.

As an added bonus, we even ship additional security fixes that are not in 5.10.1. This is thanks to the work done in Fedora whose patches we could simply apply without much work on our part. Additional thanks to Fabian Vogt of openSUSE’s KDE team who helped me a lot with some scripting magic required when mixing different Qt and QtWebEngine versions.