Organize todo lists, notes and images in libraries. Create e.g. a library for personal use and one for work. In addition, you can tag items inside a library, which allow you to easily break down larger collections into smaller parts.
Sync Your Data With NextCloud, ownCloud and More
OpenTodoList allows you to synchronize your libraries with NextCloud, ownCloud and other WebDAV enabled web storage servers. Additionally, you can also use Dropbox for synchronization. And on top, as libraries are basically just a set of folders and files, you can use any third party synchronization tool of your choice.
Your Data is Yours
We do not restrict the cloud platforms your can use to synchronize data. We have support for some platforms like NextCloud or ownCloud, which you can easily host yourself on your own or trusted hardware. In addition, you can opt to create libraries just locally e.g. on your laptop - there’s no better way to prevent confidential information to leak.
For Desktops and Mobiles
OpenTodoList is designed to run on both Desktop Operating Systems like Linux, macOS and Windows as well as mobile ones like Android.
You already might have started wondering: When is the next release of
OpenTodoList coming? Did something happen? Has the app been abandoned? 😱
Rest assured: Nothing like that happened!
We had a quite busy year to date and only recently found some time resuming
work on OpenTodoList. That also means that - despite the long time since the
last release - the list of changes it not too long. However, there are some
existing changes, so, let’s waste no more time and dive into what changed:
This surely is the most exciting change in this release! We decided to tune the
appearance of the app, switching away from the Material design and started an
own one, which is based on Qt’s Basic theme.
This new scheme way more lightweight compared to Material - which should benefit
a lot situations where the app runs on lower end hardware. In addition, we
updated the color scheme - the app now uses more vibrant colors both in light
and dark modes.
Another interesting change is how the color of individual items affect the app.
In previous releases, we used to use the color to tint the background color of
pages when opening items. However, this often looked a bit odd and kind of
washed out. With the new theme, we now use the item colors to render controls
and links in the item’s page.
Surely, this is only the beginning and subsequent releases will bring updates
and improvements to the new style. We still hope you like it already 😉
It is possible to set brand colors in the app metadata file (which is used
e.g. on Flathub but also in some app store implementations of Linux
distributions).
We now also make use of this feature and set the new background theme colors
we also use in the app itself.
Ever so often, there are updates to Qt - the framework on which OpenTodoList
is built. This framework is the key that allows us providing the app on
a variety of operating systems and devices.
With this release, we update to Qt 6.7.2 - as always, this brings bug fixes
but also makes new features available, what we’ll use to further improve the
app.
When using a custom (enlarged) font size or using the app on a relatively
small device, it could happen that some of the popups where rendered
incorrectly.
We changes this in this release, so popups should look good (and more
importantly: Be usable) on any device.
Another issue solved in this release: The automatic downloading of translations
from POEditor!
We now use POEditor for quite a while to allow users contributing to the app
by providing translations of strings in the user interface to their respective
languages. For this, we have some integrations that automatically download the
translations so they get automatically included in new builds and releases of
the app.
Unfortunately, there was an issue (or let’s rather call it: bit rot) in this
scripting, that needed our attention 👨⚕️
Another exciting change, although it just is the beginning of something great:
We started writing some user documentation for the app! 🎉
Might sound boring at first, but keep in mind: OpenTodoList is relatively old
meanwhile - meaning it had more than enough time accumulating a lot of different
features 😉 While some of them might be easy to use, others are not - so some
written down manuals on how to use them would be handy.
We started writing such documentation - it is available on
ReadTheDocs.
Note that the documentation is still in a very early stage and we need to add
lots of information there. However, the basics and especially the automation for
building and publishing it is there.
Feel free to check what is already there and - more importantly - if you
have anything in mind that you think should be documentation: Approach us,
drop us a ticket or even feel free to raise a PR on GitLab!
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).
it is finally here: The last day of the year! So, while many of us gather with
family and friends to waive goodby to the old year and welcome 2024, what else
can we do to make the start into the new year even better? 🤔
You guessed it: A new version of OpenTodoList 🎉 And what to say… while we
had planned for even more changes then we were able to get in, this release is
packed with some exciting new features - next to the usual set of bug fixes 😉
Enough words for the introduction, let’s dive into the changes that come with
v3.47:
Changelog
Toolbar Refactoring
It is not uncommon that we do some refactoring here and there, including the
result within another, larger, change. However, this refactoring is worth
being mentioned here:
We completely changed the design of the toolbar in the app! 🎉
Why that? Before, we had a lot of individual tool buttons in and dynamically
showed them depending on how much space was available on the screen. While
this worked, it was not very convenient, especially since there was no way to
know what a concrete button did (except by trying it out). To improve here,
we switched to a layout that more or less resembles a menu structure: You
get four tool buttons, each of them making the various groups of actions
available to you.
Another nice thing: On some supported platforms (namely, macOS, Windows and
Linux systems which have a global app menu), the app also will provide a
“normal” menu - this is great, as you can see the shortcuts connected to
the various actions there.
Links - they are a useful and widely used concept in the depths of the world
wide web. And guess what? Your favorite Todo List and Note Taking app now also
supports them 😉 Okay okay, actually, links per se are nothing new, you can
add them to notes and item titles since long. But, what is new is that you
can now generate links to libraries or items and use them within the app.
This way, you can easily cross link from one item to another. But it doesn’t
stop there: On some platforms, the app also will be called if another app
tries to open such a opentodolist:// link. For example, if you have a shared
library with a friend, you can create a new item and then send a link
to them via chat - they can then open that link which should immediately get
them to that freshly created item. Currently, opening the app with such links
from other apps works on Android and iOS, but other platforms will follow
in the future 😉
Automation is a key think to get more time for the really valuable things in
life (such as, hacking on new features for OpenTodoList 😎). So, besides
development work, we sometimes also invest into how to automate further parts of
our regular workflows. This is another important step: We now can upload
releases of the app to the Google Play Store from within out CI/CD pipelines.
OpenTodoList makes one promise: If you create a local library (i.e. which is
not synced with a storage server), no data belonging to that library ever
leaves the device. This is true on nearly all platforms - but iOS. Until now,
if you’d include the app in iCloud backup, also libraries would be backed up.
While not all users might find this a bad thing, it somehow is, because that
also interferes with synced libraries - if a library which is actually synced
via a storage server is brought back by a backup, the app would try to
re-upload the entire library 🤯 So, over time to exclude libraries from the
backup.
The README.md file is an important part of many projects - it literally
is the first thing users see when they land on GitLab or GitHub and want to
learn something about the app.
Until now, that file was pretty much only text - it was up to the user to find
some other way to learn more about how the app would actually look like. Over
time to change this and add some images to the README, so when visiting
our landing page on either code hosting platform, users now get a better
impression about what they’ll get if they install the app.
Nearly the same story applies for our app page in Apple’s App Store and
Google’s Play Store. The images of the app where kind of outdated - especially
in the Play Store, the screenshots dated back even before our migration to
the Material theme 😱
We changed this, so potential users will not get an up-to-date impression on how
the app looks like on the respective platforms.
Another nasty bug 🪲 we fixed here… in some cases, when you set a due date
with recurrence on an item, you were not able to change the due date ot that
item again. This is fixed now ✅
We updated the Qt framework, which powers the app, to the new 6.6.1 release. Qt
is the basis that allows us to serve all major platforms from a single code
base - and having new versions of it available also means: Pulling in a lot of
fixes and new features we will make use of in future versions of the app 🙌
In the past, when you set a due date on an item and a recurrence pattern, if you
wanted to change the due date, the date picker would initially show the
original due date. Especially for a long running sequence item, this means that
the current date and the one that the date picker would show could be weeks or
months apart!
We changed this, so now, the date picker will show the next effective due date
of the item by default.
Similarly important as the Qt update: For the Flatpak version of the app, we
updated to a more recent version of the KDE/Qt 6 runtime. This also
pulls in Qt 6.6, plus, ensures that the runtime is still maintained and receives
bug fixes.
Another interesting new feature: You can now open items in a new window! This
works on all desktop systems, i.e. macOS, Linux and Windows. This feature
can be quite interesting and useful. For example, consider the following:
If you maintain one “todo list” to plan what you want to make for dinner each
evening and another one for your grocery shopping. Then, if you’d want to
fill up the grocery list with the stuff you need for the meals you put in the
other list, you would have to jump between the two of them all the time 🦘
With the new feature, you can first make your planning in one list, open it in
a separate window and in the main window, change to the grocery shopping list,
where you can easily fill in the ingredients you need to get. Handy, isn’t it?
There was a nasty little bug which, if you would e.g. re-open a todo list when
restarting the app, show wrong todos in that list! 😱
This was due to a race condition - you could sometimes even see the correct list
of entries first showing up before the list would then get filled by random
items. Now, this is fixed ✅
Sometimes it is all or nothing! Yes, even when handling todos. For this reason,
we added options to mark all entries within a todo list (or within a todo)
as either done or undone.
Last but not least: There was some bug which - under certain circumstances -
could cause the background sync of a Dropbox backed library to stop. You had to
kill the app and restart it for the sync to get back to a working state.
We fixes this, so now the sync should continue seamlessly in the background
as expected 😉
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).
This was a quick one. The previous release of the app should have resolved an
annoying bug. In the very last commits, though, we kind of worsened it. So,
time for a quick hotfix release!
For some while, we had an issue with the app that on Android, on some devices,
no icon would be shown on the launcher screen. The last release was supposed to
bring a fix which remedies this. Unfortunately, after we indeed fixed that
problem, in one of the later merges the setting of the icon on Android was
completely turned off 😱
Fortunately, bringing back the icon is a matter of setting some property
in an XML file and building and pushing out new versions. 😉
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).
Yes, it seems to become a kind of bad habit to release OpenTodoList behind
schedule, but this time, we have a good excuse (some traveling in parallel, so
this is the first version of the app that is effectively released from outside
Europe 😉).
So, what’s new this time? Effectively, this is mostly a bug crushing release, ridding
us of some long running deficiencies and hence, making the app way more
useful - especially on mobile devices. Curious? Then let’s go!
OpenTodoList allows adding images as library items for a long while. Nearly
equivalently long, you could add files as attachments to items. Clicking on an
image or an attachment basically just opens it in a suitable app.
But… this in fact only worked properly on Desktop systems. On mobile systems,
due to the sandboxing that is done, this didn’t work so easily. Well… until
now! Clicking an image or attachment now opens it in a preview and also allows
sharing it to other apps. 🎉
Back to one of our favorite topics: WebDAV. It is OpenTodoList’s main protocol
used to talk to backend servers for synchronization (the NextCloud and ownCloud
backends are basically special WebDAV ones).
Unfortunately, not all WebDAV servers play nicely and implement the full WebDAV
protocol. The app implements some workarounds for at least some of the
shortcomings servers might have. And this is where the trouble starts… some of
the workarounds cause the app to generate additional traffic on each sync. A
single sync typically does not consume too much data, but depending on the size
(or rather, age) of a library, if the background sync happens often enough,
the amount of transferred data can reach several hundred MBytes per month.
In this version, we - for this reason - reduce the frequency of the sync in the
background in case of a server with such issues is used. That way, the amount of
traffic generated should be in an acceptable range.
Another long standing request we finally managed to implement: The app is now
packaged as a Zip file for easy distribution of the app on Windows systems that
don’t support installation to system locations. 😎
One more nasty bug 🪲 that we fixed: On some Android devices, the app icon was
not properly shown. This was due to the format of the icon used - and should
be a thing of the past.
Last but not least, another cool new feature: You can now expand the tags in the
sidebar - this will show a list of library items belonging to this tag.
In addition, there is now a new option there per library, which shows all
items that have no tag assigned to them. This one can be expanded as well to
reveal top level items directly within the sidebar.
This feature makes it way quicker to jump between items directly without having
to load the contents of that (subset) of a library 🏎️
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).
While work on the next release of OpenTodoList continues, we’d still like to
push out another bugfix release to you. This mainly is important for users of
the Snap and AppImage editions of the app on Linux.
In the previous release of the app, we updated to a new version of the
underlying Qt toolkit the app is built upon.
Qt now requires OpenSSL v3 - however, we didn’t deploy this version of OpenSSL
with the app! In the Snap edition, this is fatal, because Snaps run in isolation
and cannot access any system libraries… But also the AppImage version of the
app (from which the Snap one is build) is affected! AppImages can in fact access
system libraries, but users that are on an older Linux distribution might not
yet have the new OpenSSL available 😱
We fix both of this by including the proper OpenSSL libraries with the app, so
access to secure servers should work again!
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).