OpenTodoList 3.50.0 Has Been Released
Hello hello!
It has been a quite long time of silence and some of you might already got nervous if there would be further releases of OpenTodoList. Well, rest assured, there will be more. And we start with a big one - at least from a developer’s point of view. 🧑💻
Yes, you might not find too many interesting changes in this release that really show up at the surface. However, under the hood a lot has changed and this will make it way easier bringing forth future releases. But before we start with the usual changelog, some organizational announcement.
New Release Process
In the past, I tried to release the app about every 3 months. For a long time this worked quite well. However, the last year showed that this schedule is currently unrealistic:
Personally, I had a lot of stress in my professional life. On top, I was longer on sick leave. All together, while I always found a bit of time for hacking, fulfilling the (too big) plans I made for the individual releases never worked out and I kept postponing this release for months.
Instead of a fixed, 3 months schedule, I will change to a release on demand scheme. Whenever something worth releasing accumulated, there will be a new version. The other side of the medal: If - like with this release - something bigger needs to be done that I cannot fit into a 3 month period, there might be a longer pause between releases again. No matter what, though, I stay committed to release regularly and especially keep the app alive. Especially on Android and iOS, regular releases might happen to ensure the app still can be installed on new devices and keeps up with latest developments on these platforms.
Now, with this being said, let’s check out what 3.50 actually includes!
Changelog
Refactoring, Refactoring, Refactoring!
I know I mentioned this in the past already, but one more time: OpenTodoList is already quite old (in terms of software). The first release happened already in 2013!
A lot has changed since then. Initially, the app was written on top of the Qt 5
framework, using Qt’s own qmake build tool. Nowadays, we are on Qt 6 and since
long changed to the semi industry standard CMake tool for building the app.
Why am I mentioning that? Well, a lot has changed and Qt’s CMake APIs have evolved dramatically. On the other side, the way the app was using CMake to build was really dated. This release sees a lot of updated on that front, bringing the build to an up to date state. And this pays out:
Not only should this make future development easier and even help improve the performance of the app at runtime. It is now also easily possible using e.g. Visual Studio Code for developing the app! Why is this important? Well, QtCreator - Qt’s in house IDE - isn’t bad. But VSCode has some power features that really help boost development - most notably integration of AI features.
Another important improvement is, that this allows easier integration of
additional tools like qmllint, a tool to automatically check the files we
use for describing the user interface, for issues and potential improvements.
Lastly, in that go, the app was also updated to the latest Qt 6.10 release - which is important to still be able to release the app on mobile systems and - as always - makes some nice new features available.
So the bottom line here is: While this whole migration took quite a while, it was really worth it and should help speeding up future development!
Fastlane Configuration For Releasing To F-Droid
Thanks to @IzzySoft, there’s now an initial structure for Fastlane that - in the future - will help to release the app to the IzzyOnDroid F-Droid repository. Thanks for the contribution!
Document Drag&Drop Workaround on Wayland
Thanks to another user, @eggia3, we now have a proper documentation of a Drag&Drop issue when using the app on Wayland. Also, big thanks here for the contribution!
rpdev/opentodolist#681: Fix Disabling Of Certificate Checks
This release also contains some fixes. One important one: Certificate checks (when using WebDAV, NextCloud and ownCloud) can not be properly turned off. This is usually only interesting if you want to test a new instance or cannot - for some reason - use a proper SSL certificate for a custom server.
rpdev/opentodolist#678: Fix “Save Notes” Button
Another fix: When editing the notes of an item, the “Save Notes” button is not finally functional again!
rpdev/opentodolist#679: Fix Links To Images In The Readme
Last but not least, this release fixes the links to imaged in the README.md file. As this file is the main entry point for someone visiting the app on GitLab or GitHub, this is quite important - you know, first looks 😉
Downloads
- Please find the download links for major platforms on GitHub.
- For Android, the release is available via Google Play.
- For iOS, the release is available via the App Store.
- If you use
snap, you can install the app from the snapcraft.io. - If you use
flatpak, you can install the app from Flathub. - For Arch based Linux distributions, you can install the app from AUR.
Known Issues
There is a minor known regression with the Qt6 based build of the app when running on Linux with Wayland. Reordering items via drag and drop works, but you sometimes have to click somewhere (e.g. the tool bar) to re-enable hover for the items after such a drag and drop operation. This has been reported as a bug against Qt in their bugtracker. Usually, you can start the app passing it the -platform xcb option to force using X11/XWayland (which does not show the same symptoms).