Skip to content

0.0.96 beta3

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Jul 15:02
· 255 commits to dev since this release

(Beta 3 is the same code as beta 2, with the correct version reported by the application)

This beta is very different from the previous one, in two (ok, three) particular respects.

libQuotient 0.8

First, after finding a few shortcomings in libQuotient 0.7 fixing which required to break the API, it was decided that Quaternion 0.0.96 will move along and switch to libQuotient 0.8 that has been released last week. So, unlike the previous beta version that used libQuotient 0.7, this one only builds with libQuotient 0.8.

One reason to switch to libQuotient 0.8 was to make E2EE switchable per account at the login, rather than be at the mercy of whoever builds libQuotient (18ba959). From now on, it will be recommended to always build libQuotient with E2EE switched on and eventually the build-time switch might be completely gone. The accounts already logged in and saved into your Quaternion configuration will have E2EE automatically switched on, grandfathering the libQuotient 0.7 status. If you don't want that for any reason, make sure to remove the access token for the given account before running this beta! In the final release, the grandfathering will most likely be replaced with some other migration mechanism to make sure users don't end up with E2EE suddenly switched on even if they didn't want that.

Qt 6

Second, Quaternion now de-facto requires Qt 6, after completing the migration from the old Qt Quick Controls 1 that kept us at Qt 5. Unfortunately, as a side effect of this migration, the build with Qt 5 is broken at the moment (to be more precise, it builds but the timeline is a useless pile of controls). In other words: you should use it with Qt 6 (unless you really want to stick to the legacy and fix the build with Qt 5 - in which case, PRs will be accepted but please read this paragraph to the end first). Given that Qt 6 matured nicely over the last year, there's not much reason to use Qt 5, anyway; moreover, the next version of libQuotient (0.9) will almost surely drop Qt 5 support. BUILD_WITH_QT6 is now ON by default (09e1299); the instructions in README.md and BUILDING.md are updated to Qt 6 (if they are inaccurate - file issues!); and there's no plan to put much effort into making Quaternion work again with Qt 5.

It is recommended to use Qt 6.4 and not Qt 6.5 - the latter has a few regressions that impact Quaternion.

Flatpaks instead of AppImages

Finally, yet another broken-for-now-and-maybe-for-good thing is AppImages built by our continuous integration at GitHub. AppImages have been causing frustration pretty much at every significant change of dependencies, be it OpenSSL or the Ubuntu image used to build it. OpenSSL version change came around again this time (1.1->3.0), but even after fixing it the generated AppImage runs but doesn't show the timeline. With flatpaks being less problematic (not perfect either, in fairness) to build and Flathub providing a good process around it, Flatpak will be the format of choice for all releases from now on. The direction for intermediate pushes will be decided separately.

Other notable changes

  • @chmeeedalf fixed incorrect detection of images inserted from clipboard for sending (#868) - first contribution!
  • @nephele-gh helped with lots of testing, as always

Many thanks to everyone!

Full Changelog: 0.0.96-beta1...0.0.96-beta3