Skip to content

Releases: quotient-im/Quaternion

Version 0.0.95

24 Sep 03:09
Compare
Choose a tag to compare

Ok, it's been a long time... More than 2 years since the original 0.0.9.4 release, and more than half a year since the last rebuild of that release (gaining quite a few patches from the next release though). Anyway, after switching continents for a new country and a new job (still not about Matrix but at least about Open Source!), here I am again, delighted to announce the ever-best and newest - release 0.0.95!

As many of you who followed betas and release candidates know already, there's no typo in the version number - reflecting the next level of Quaternion maturity, I decided to switch from "just-beginning-to-make-something-useful" 0.0.9.x pattern to "got-almost-all-essential-features" 0.0.9x, with 0.1 release becoming in sight. What would make it 0.1? Two things: user registration and end-to-end encryption; and hopefully we'll get there by the end of next year (unless I get to jump countries again, which is unlikely).

But enough with introduction, let's get to the subject.

Thanks

  • to @krkk and @rpallai for massive contributions to make Quaternion better and better (see details below)
  • to translators for adding and updating on their languages: in addition to German, Polish and Russian translation, we now have (reasonably complete) Spanish one. The French translation, unfortunately, could not make it to the release, despite good progress - it may be added in a follow-up release.
  • and, of course, to all who tries out and uses Quaternion on daily basis!

As before, the full list of contributors to the code can be found at the respective GitHub page, and you can all kinds of cool statistics about translations at Lokalise.

Changes

The complete list is even longer than for 0.0.9.4 (134 closed issues and 690 commits); highlights follow:

  • Many chat timeline improvements:
    • Feature (#422, #497): thanks to @krkk, the "ellipsis" button on the right of the message has been replaced with a proper context menu behind a proper secondary (aka right-) click, with more things that can be done from it.
    • Feature (#727, #687): revamped read marker, with more natural transitions (that line actually shifts across events now) and a slight tint over messages you've already read so that you could easily discern whether you're in "unread" or "read" area without the read marker on the screen;
    • Feature (#257, #729): thanks to @ddanilov, there's now a "scroll to reader marker" button when the read marker is off-screen (unfortunately, it will only work when the last read event is already loaded; lifting this limitation is a matter of #796);
    • Feature (#780): thanks to @ddanilov, the topic can be collapsed now - right-click on it;
    • Feature (#655): thanks to @krkk, Quaternion gained initial support for reactions (current limitations: no new reactions can be posted; standard timeline font is used for reactions);
    • Feature (#607): thanks to @rpallai, outgoing messages are tinted a bit differently now (and you can configure the tint - see README).
    • Change (#725, #748): the scroll-to-bottom button, as well as the timestamp in the default layout, shifted to the right; the shuttle-dial scroller blends better into the desktop theme and acts smoother;
    • Fixes (#375, #630, #704, #712, #761): a few, some long-standing, bugs fixed with (partially) moving over to Qt Quick Controls 2 (Qt Quick Controls 1 has been deprecated and is no more there in Qt 6; complete migration to QQC2 is planned early in 0.0.96);
    • Fixes (#632, #640, #648, #749): too high room name or message input will no more obscure the real timeline beyond acceptable; and longer typing/completion strings won't strut the view either;
    • Fixes (#782, #788): the last scrolled-to timeline position should be restored more reliably now.
  • Feature (#677): thanks to @krkk, there's now a user profile dialog, with changeable name and avatar. Device manipulations come next, as they need user-interactive authentication.
  • Feature (#678): thanks to @krkk (this guy is all over the place...), images can be attached simply by pasting them from the clipboard.
  • Feature (#421, #730, #734): initial Markdown support - still somewhat experimental and can break in some more complex cases like lists or fences, therefore hidden behind the /md command. Only available if Quaternion is built with Qt 5.14 or newer (Flatpaks and all binaries at GitHub Releases have it; builds for older Linux distros might not).
  • Feature (#580, #701, #705): with the help of @krkk, rich text can be pasted or dropped into the text entry, and proper Matrix HTML will be generated for it; work on this allowed to make /html command validate its input to be proper Matrix(!) HTML. Same as Markdown, rich text support is still somewhat experimental and rough along some edges.
  • Feature (#614, #627): with the help of @rpallai, you can now override the font for the chat timeline (and the application font is configurable too) - see README.
  • Feature (#528): thanks to @a-andreyev, Quaternion now uses different colours for different user ids, which helps in both discerning between accounts and also may assist in spotting impersonators.
  • Feature (#642): thanks to @ddanilov, you can now fine-tune how fast your read marker moves to the newly read message.
  • Feature (#533): Room tags can be hidden from the room list now (see README for instructions).
  • Feature (#654, #662): thanks to @krkk and @rpallai, you can hide more kinds of events from the timeline.
  • Change (#676): thanks to @krkk, actions for which you don't have power (e.g. banning) are hidden now.
  • Change (#609, #644): upgraded rooms that have successors with you as a member are no more shown in the room list - you can still navigate to them using "Go to previous room" button in the successor room. A more convenient interface is postponed for 0.0.96.

And, as always, the new release comes with an assortment of performance and memory tweaks and fixes, to keep Quaternion fast and compact.

Building and packaging

Over these two years, quite a few things occured on the building and packaging front - packagers especially, mind the below.

First off, if you're still on an intermediate 0.0.95 (or even 0.0.9.5) beta or RC build you're strongly advised to update to this final release or at least backport the fixes linked from the security issue #789.

Quaternion 0.0.95 requires libQuotient 0.6.x to run (version 0.6.9, the latest as of this writing, is strongly recommended - if you don't have it in your Linux repository, ask your packager to update the package ASAP!). Neither libQMatrixClient 0.5.x, nor (yet to be released) libQuotient 0.7 are not compatible.

The oldest Qt version for this Quaternion release is 5.11, not 5.9 any more; this changed before RC3. Unless you're still on bionic (in which case you have bigger issues to tackle) this shouldn't be a trouble; but for packaging it's worth updating your spec and control manifests.

AppImage files are now provided with releases too; however, the recommended self-contained package is Flatpak as it integrates better into the desktop environment and is built in a more reliable and secure way than AppImage.

As those using Quaternion intermediate CI builds know, JFrog has sunset its Bintray service earlier in the year. Fortunately, great folks at Cloudsmith have ironed up their service just in time for that and provide it to open-source projects for free. While you're really advised to use GitHub Releases to get stable Quaternion binaries, intermediate CI builds are still available as well; they just changed their home.

Finally, in a much less predictable and reasonable way, Travis CI has left its open-source users out in the cold last year after changing their pricing model, so all Quotient builds have been (rather hastily) migrated to GitHub Actions. This should not affect the consumption of the built binaries in any way - they were published at GitHub Releases even before, and they are still there. Travis CI is not good for your health anyway - migrate from it as soon as you can if you're still there.

Screenshot

Looks unusual? This is made on Haiku, courtesy of [email protected]. Quaternion will match your system look and feel, unlike some other Matrix clients.
thanks to nep-quaternion@packageloss.eu

Version 0.0.95 RC4

13 Sep 00:20
Compare
Choose a tag to compare
Version 0.0.95 RC4 Pre-release
Pre-release

The previous RC turned out to be a bit hasty, so here's another one:

  • (#789, 3883935) RC3 still rendered HTML in reaction tooltips; this is fixed now.
  • (#792) The refactoring work on the way to RC3 led to a regression where the read marker wasn't automatically promoted just after showing the room - you had to scroll around to make it go away and show again in order for the auto-promotion to start working. This is fixed now.

Sorry for inconvenience; packagers are strongly advised to either roll out 0.0.95 RC4 on top of any older 0.0.95 snapshot, or at least backporting both commits mentioned in #789 to those older 0.0.95 packages.

Version 0.0.95 RC3

12 Sep 05:59
Compare
Choose a tag to compare
Version 0.0.95 RC3 Pre-release
Pre-release

Yet another round before the final release. Changes on top of RC2:

  • (ae4fe69) First and foremost - now that it's 2021 out there, Quaternion requires Qt 5.11 or newer. Qt 6 is not on the maps for 0.0.95.
  • (#789) Reaction buttons no more render their captions as HTML - packagers are strongly advised to backport at least this fix to earlier 0.0.95 snapshots if you can't pull them to RC3.
  • (#630, thanks to @rpallai) PageUp/PageDown should more reliably scroll to the respective edge now.
  • (#758) Fix whitespaces being squashed in messages.
  • (#781) Fix stray $ signs showing up around mentions and other markup.
  • (#749) The message entry box is constrained by height now, showing a scrollbar if you type a too high message.
  • (#780, thanks to @ddanilov) The room topic can be collapsed - click the right mouse button.
  • (561ebdc) Quaternion no more sends the HTML representation if the message is entirely plain text.
  • (#743) "Open/Join room" entry now ignores leading and trailing whitespaces.
  • (fc2f971) Room display name disambiguation is a bit more prominent in the room tooltip (it was buried in the tooltip text before, now it's in the headline).
  • (#783, thanks to @mymindstorm) Fix the SVG icon name to follow ECM conventions so that it actually gets installed.
  • (cb44315) Fix some messages coming untranslated even though they have translations.
  • (#415) The --debug option is no more - it did nothing for a few years by now, time to go (better debug options will arrive in 0.0.96).
  • (a78ec9e, #788) Some preparatory changes to fix #782.

0.0.95 RC2

27 Jun 16:56
Compare
Choose a tag to compare
0.0.95 RC2 Pre-release
Pre-release

Hot on the heels of the first release-candidate, here goes the next one - with the AppStream file actually updated so that Flathub tells the right version, and a small fix in visuals next to day labels (#776).

0.0.95 RC

25 Jun 12:53
Compare
Choose a tag to compare
0.0.95 RC Pre-release
Pre-release

The release candidate for Quaternion 0.0.95 is here! This mostly has bug fixes, notably:

  • (#768) Quaternion no more crashes after redacting messages from the popup menu.
  • (#769) "Reset formatting" now resets block formatting as well (just in case you copy-pasted some centre-aligned text).
  • (ffd0add) Pasting and drag-n-dropping rich text into Quaternion works better; formats not compliant with Matrix now get filtered away when pasting/dropping, rather than later when sending.
  • (30340d8) A workaround has been made to prevent Qt code from corrupting Markdown lists.

Thanks to everyone for testing and reporting issues!

Version 0.0.95 beta 5

17 Mar 20:12
Compare
Choose a tag to compare
Version 0.0.95 beta 5 Pre-release
Pre-release

The (hopefully) last 0.0.95 beta is here, with another round of bug fixes and polishing. We still welcome the help of translators: French is halfway complete, and many languages are entirely missing - come to Lokalise, ask in the chat or at #quotient:matrix.org for your language if you don't see it, and translate away!

The main change that warranted this beta is additional work on the timeline code to fix the underscrolling regression in beta 4 (#762), which in turn led to fixing a long-standing issue with fonts being scaled differently in most of the UI and in the timeline (#549). The same font size should be applied across the whole UI now (unless there's an override for the timeline).

Other fixes:

  • (#761) Avatar sizes in the timeline are properly aligned now; emojis in the display name no more cause some avatars to stick out
  • (#759, #764) A few packaging improvements for macOS, allowing the package from GitHub Releases to run on macOS 10.13 and on M1.
  • (#599, #649) User and room lists have received a bit of love - the icons are no more pixelated with high-DPI scaling, and where there are no avatars, placeholder icons are displayed for members.

The release is within sight!

Version 0.0.95 beta 4

26 Feb 16:41
Compare
Choose a tag to compare
Version 0.0.95 beta 4 Pre-release
Pre-release

Next beta is out, with another pack of tweaks and bug fixes. Now that the vast majority, if not all, translatable strings are in, translators are very welcome to our project at Lokalise, so that we have time to pull their contributions before the 0.0.95 release in a few weeks.

Most notable changes:

  • (#730, #734) Many fixes in the way formatting input (both rich text and Markdown) is processed, thanks to which you can now use Markdown code fences, get nicer Markdown lists with less empty space around the items, and also reset the rich-text formatting of the current character.
  • (#748) Shuttle dial is further improved - the knob doesn't end up overblown and displaced in certain cases (such as #733) and scrolling with it is more uniform. The "N events from now" tooltip now also shows how many events are being requested from the server, and stays on the screen for a bit after scrolling interaction is over (particularly useful when scrolling with a mouse wheel or Ctrl+PgUp/PgDn).
  • (#747, thanks to @krkk) Room list: group captions now mention the number of highlighted rooms in them, next to the total count.
  • (#753, thanks to blue_penquin for reporting) The message box to confirm opening external links had a "Do not ask" checkbox that, it turned out, never worked; this is fixed now, and the menu gained another checkbox to negate the effect of this checkbox (i.e. start asking again).
  • (#632, #640) Longer strings no more strut side panels away, but keep the content of typing/completion notifications and the room name within bounds. You can still push things out vertically if you stuff too many line breaks in your message (#749) - that will be fixed in the next bug-fixing round.
  • (#737; #745, thanks to @ddanilov) More fixes around scrolling in the QML part.

Version 0.0.95 beta 3

27 Jan 13:17
Compare
Choose a tag to compare
Version 0.0.95 beta 3 Pre-release
Pre-release

Here we go, after a bit lengthy wait - the next Quaternion beta! Quite a few changes since beta 2, the most notable being:

  • There's no typo in the version number: as Quaternion approaches the feature set planned for version 0.1, the former 0.0.9.5 shall be known as version 0.0.95!
  • (#421) Quaternion supports entering Markdown! Moreover, you can use both Markdown and formatted text introduced in the previous beta within the same message - just make sure to keep them separate and not one within another. By default, Markdown is off; use /md command to enter a message in Markdown, or add UI/auto_markdown to the configuration file/registry if you want to always be in Markdown mode (not exposed in the interface, while we're ironing out the wrinkles). Markdown support requires Qt 5.14 or newer (within Qt 5.x version - no Qt 6 support as yet).
  • The timeline went through an overhaul, along with partial migration to Qt Quick Controls 2:
    • (#704; #712; #375) a few long-standing bugs fixed;
    • (#725) the scroll-to-bottom button, as well as the timestamp in the default layout, shifted to the right; the shuttle-dial scroller looks a bit less custom;
    • (#727, #687) the read marker QML code is entirely rewritten - the read marker transitions are more natural (that line actually shifts across events now), and there's a slight tint over read messages so that you could easily discern whether you're in "unread" or "read" area without the read marker on the screen; the read marker line also doesn't mysteriously disappear at redactions, reactions and edits ("aggregations", in Matrix tech lingo);
    • (#257/#729, thanks to @ddanilov) and speaking of the read marker, it's now just one "scroll to reader marker" button click away if it's off-screen.
  • (#715, thanks to @krkk) When you remove the tag, its corresponding UI state (collapsed/expanded) is also removed from the configuration to prevent surprises if the same tag is introduced again sometime later.
  • (#717, thanks to @aaronraimist) The macOS image now uses a higher quality icon

Known limitations and issues (both go from beta 2):

  • (#732) Copy-pasting from the timeline may not work in some cases (it actually never quite worked, and this limitation might not hit 0.0.95).
  • (#730) There's no "reset formatting" shortcut when the pasted formatted text (or a mention) is right at the end of the message. Pasting any unformatted text (even a whitespace) is a workaround for now.

Version 0.0.9.4f

13 Jan 18:46
Compare
Choose a tag to compare

This is a rebuild of exactly the same code as 0.0.9.4e to package newer Qt (5.14) and move away from the dependency on no more supported OpenSSL 1.0. Users on macOS are not affected, as the newer Qt has already been used to build 0.0.9.4e. Linux users are strongly encouraged to use distributions with Qt 5.12 and newer or otherwise ensure they are not sitting on the same outdated OpenSSL dependency.

0.0.9.4f-rc

13 Jan 18:27
Compare
Choose a tag to compare
0.0.9.4f-rc Pre-release
Pre-release
0.0.9.4f Release Candidate