Releases: quotient-im/Quaternion
Version 0.0.5
6 weeks after the previous release, here's Quaternion 0.0.5! This is mostly a bugfix release. Note that this is the last release to compile and run with Qt 5.2.1; next releases will require Qt 5.7 and newer compilers on Linux (GCC 5+, Clang 5+).
Quaternion 0.0.5 is built on top of libqmatrixclient pre-0.2, using its fixes and features. The library is still built statically into Quaternion; if you'd like to take part in uncoupling the two, you're welcome in #239.
Thanks
This release is a collective effort of: Kitsune Ral (@KitsuneRal), Marc Deop (@marcdeop), and Elvis Angelaccio (@elvisangelaccio). Many thanks to everybody, as well as our users/testers - you're awesome!
Changes
The commit log lists all the changes, here are the highlights:
- Feature: Redactions! Quaternion now displays redacted messages as such, understands redactions that come from the server, and allows the user to redact messages (but no feedback yet if power level is insufficient; the message just stays on the screen)
- Feature: The room list is sorted by display name now; room tags are coming soon
- Feature: Login dialog now automatically resolves the server if you enter your full Matrix user ID (thanks to @r0kk3rz for pushing the effort on the library side)
- Enhancement (library): Qt 5.10 compatibility (Qt has made a change that caused lib v0.1 and therefore Quaternion 0.0.4 to be unable to send a well-formed HTTP request)
- Enhancement (security, #181): access tokens are stored separately from other settings; on systems supporting UNIX permission system Quaternion will restrict access to those files
- Enhancement: joining rooms is no more a gamble when multiple accounts are logged in; Quaternion will ask you if it's not sure which account you meant to use
- Enhancement: plain-text messages now retain their spaces, so indented text will show indented
- Enhancement: images in the timeline try to scale to the available width instead of being shown as smaller thumbnails - but only within their actual scale (no big pixelated images bulging in the timeline);
- Enhancement:
m.notice
messages (those coming from bots) now look different from "normal" messages, to help you figure what's important - Enhancement (library): "(Telegram)" is removed from names of Telegram bridged users; the same feature for IRC was broken but is fixed now (thanks to @Quiark)
- Enhancement: the access token is invalidated on exit if Quaternion was told not to keep the user logged in
- Enhancement: AppStream metadata introduced, for your desktop environment convenience
- Fix: URL linkifier issues have been largely addressed
- Fix: docked panes layout is properly saved and restored now
- Further work on stability: less memory leaks, less crashes
- A bit more work on documentation: README.md now describes configuration options not exposed in UI; building instructions are now in BUILDING.md
Version 0.0.4
Here is the first beta release of Quaternion, long-overdue, with 250+ commits and more than a year since 0.0.1. Under the hood, libqmatrixclient has also evolved to beta; Quaternion tries to expose all features mentioned in the library's release notes.
Update: Qt Project has made a breaking change in Qt 5.10 that leads to Quaternion successfully compiling but failing to complete any network request. This version is only compatible with Qt 5.2.1 thru 5.9.x, not with 5.10. Thank you for understanding.
Thanks
This release is a collective effort of: Kitsune Ral (@KitsuneRal), Malte Brandy (@maralorn), Elvis Angelaccio (@elvisangelaccio), Felix Rohrbach (@Fxrh), and others. Many thanks to everybody, as well as our lovely users/testers!
Changes
The commit log lists all the changes, here are the highlights:
- Feature: Multiple Matrix accounts support (double login under the same user works too; you'll have two access tokens and can go wild with your alter-ego)
- Feature: Tab autocompletion for member names (special thanks to @maralorn)
- Feature: Room invites can be seen and accepted in Quaternion
- Feature: Room forgetting
- Feature: An array of new slash-commands in addition to /me, /join and /leave: /invite, /kick, /ban, /unban, /notice, /topic, /shrug, /forget, /nick
- Feature: Read marker with user activity detection; read receipts for the local user are sent and received/processed, providing seamless experience when moving across clients
- Feature: Room avatars - in the room list and in the header above the timeline
- Feature: Rooms can be marked as read from the room context menu
- Feature: A quick-scrolldown button to get you back to the latest messages after scrolling infinitely to olden times
- Feature: Entered but not sent messages are saved on a per-room basis; previously sent messages are accessible with up-down cursor keys
- Feature: Smooth infinite scrolling; as few "bumps into the ceiling" as possible
- Feature: Tooltips in user list; better tooltips in rooms list
- Feature: Splash screen (to entertain a user with a nice logo while Quaternion loads things)
- Enhancement: System palette is respected across the whole application; dark themes are fully supported
- Enhancement: Rooms in all states (include Invite and recent Leave) are shown; the state is visualised both in icons and in room names text
- Enhancement: Faster Quaternion startup thanks to room state caching
- Enhancement: URLs even in plain text messages are clickable (URLs that are not links in HTML messages are left untouched)
- Enhancement: Device name can be specified upon login (making Quaternion instances more recognisable in Riot's user device list)
- Enhancement: Room list and user list can be shown/hidden from the menu; the number of rooms/users is shown in the captions
- Enhancement: a Windows binary is packaged along with Qt and runtime libraries, to save poor Windows folks from having to setup a build environment (which is especially cumbersome on that platform)
- Enhancement: to balance on Linux users, Flatpak support is directly in the source tree
- Enhancement: for MacOS users, just checking in CI that things still compile on your platform, nothing else so far
- Enhancement: A nicer-looking and less wild slider for infinite scrolling (though people still mistake it for a usual scrollbar and complain...)
- Enhancement: Room state changes (topic, aliases changes etc.) are listed in the timeline
- Enhancement: Attempt to join an invalid room will bring you a message instead of silently failing
- Enhancement: hover on a link in the timeline to see the actual target in the status bar
- Fix: Quaternion did not respect server-side ordering of messages
- Fix: Member state changes (e.g. renames) looked like joins; now they are displayed like respective changes
- Lots of stabilization work and bugfixes: less memory leaks, smaller memory footprint in general, less crashes
- Some work on documentation (README.md, that is); user manual is very much away from radars still
QMatrixClient GitHub organisation
As we grew, separate personal GitHub repos became unscalable, so a GitHub organization has been made to host Quaternion and libqmatrixclient, a single meeting place for everybody involved: QMatrixClient (coincidentally, it's also the original name of Quaternion).