All lists and tasks deleted in 2Do after upgrading to macOS 10.15 Reminders or iOS 13 Reminders
TL;DR: iOS 13 / Catalina deletes data from other apps, during its migration step, if you choose to upgrade Reminders. All 3rd party CalDAV clients are affected, including lists and tasks within Reminders running on older iOS versions (iOS 12 and below). If this bothers you, please kindly leave feedback with Apple explaining how you find this behavior unexpected, and how much this may or has already inconvenienced you.
After upgrading to macOS 10.15 Catalina or iOS 13, you will be prompted by the Reminders app to "Upgrade Reminders" to use newer features.
Choosing "Yes" will break it away from CalDAV sync and these lists / tasks will no longer sync with third party apps over CalDAV, including 2Do. In fact, Reminders will delete all your data from all other apps syncing over CalDAV as part of its migration to the new format, without these now syncing back to CalDAV (and thus back to 2Do). If you own a device stuck on a previous version of iOS 12 or earlier, changes will also no longer sync back between different versions of the Reminders app. After deleting everything in your CalDAV account (and on older devices with older iOS versions), Reminders seems to add a new list called Reminders ⚠️ and contains the following two tasks at the time of writing, hinting to what just happened:
- Where are my reminders?
- The creator of this list has upgraded these reminders.
If you see a list by this name appear with similar tasks out of nowhere, you've already upgraded your Reminders data and will need to follow instructions given below in order to restore your lists and tasks.
How do I resolve this?
Note: At the time of writing, we're preparing to release a new update (v3.21 for iOS and v2.6.13 for macOS) in order to automatically detect this and prevent data-loss from occurring.
You have two options, if you do not wish Reminders to take over your data, you can select "No" when prompted to upgrade. Choosing not to upgrade Reminders will keep your data intact on all other devices and 3rd party apps. This will also allow Reminders to continue to sync with other apps over CalDAV as it always has. Having said that, you don't have to select "No" as long as you're aware of the repercussions and are willing to perform a few manual steps in order to recover your data.
Chances are you're reading this after it has already deleted everything in 2Do. Don't panic! 2Do automatically creates backups of your tasks every 24 to 48 hours, or every so often before it syncs (unless you've turned this feature off manually - in which case you need to leave feedback with Apple as you did not expect this to happen during migration). To restore everything back to how it was:
- Open 2Do Settings > Backups > Manage Automatic Backups
- Tap on a recent automatic backup and tap Restore.
- Once restored, 2Do will ask you how you'd like to proceed with Sync, not knowing what you'd prefer. Select Replace Server Data so that 2Do is able to push everything back to the server as it was before the migration deleted it
Doing so will push everything back to iCloud's CalDAV servers and make this data available to all third party apps syncing over CalDAV (such as 2Do, Outlook, BusyCal, Fantastical etc). Tasks in the new Reminders app will, however, no longer sync back and forth between any of these apps over CalDAV. If this bothers you, please leave Apple some feedback.
What will happen with iCloud CalDAV Sync after this?
Once you are able to restore your data and push it back to iCloud, you should be back in business. All other apps and services should be able to sync seamlessly as they did earlier, with one exception: tasks inside of the new Reminders app will no longer sync back and forth between 2Do (or other apps that sync over CalDAV), and by extension, the Siri → Reminders → 2Do workflow will stop working. You should experience no other disruption as everything will work as it always has. Reminders running on older iOS versions (iOS 12 and below) will also begin to sync as normal.
CalDAV is a globally accepted, open standard that iCloud has in fact been a big part of for decades. We don't see Apple removing support for this, however it is unfortunate that the new Reminders app will no longer sync over CalDAV as this would mean you have to choose between Reminders and anything else. If you wish that it still did, please leave feedback with Apple and let them know.
How do I get List Sharing to work going forward?
In the past, you could share a list with a colleague, friend or spouse via Reminders and this would automatically enable list sharing within 2Do, allowing you to collaborate together and share tasks. Given Reminders no longer syncs with CalDAV, enabling sharing within Reminders going forward would no longer enable this at the CalDAV end. Currently, the only other CalDAV client we're aware of that allows you to manage list sharing is BusyCal for macOS. There's a free trial that you can download, and its help pages go over the process of enabling sharing on a CalDAV list.
I'm new to 2Do, how do I sync my Reminders to CalDAV?
There's currently no way to do this. We're unaware of any app that reads from Reminders (via EventKit) and pushes it back to CalDAV. Unfortunately you'll need to start from scratch within 2Do. If you wish Reminders were still able to sync back to CalDAV the way it did, it may be worth leaving feedback with Apple.
Why does 2Do need to sync over CalDAV with Reminders?
2Do offers a lot more functionality than Reminders, and in order to sync this information across devices, it needs to store a lot of meta-data related to each task. Apple has always offered two methods of syncing with Reminders. One was to use their SDK called EventKit, and the other was an open, globally accepted protocol named CalDAV. EventKit is woefully underpowered and limited in what it allows us to do. It does not allow saving any extra meta-data, does not offer the ability to extract extra information Reminders allows you to enter, and nothing has changed in iOS 13. The new Reminders will continue to sync with apps that choose to extract date via EventKit, but will not have access to the new features and metadata assigned to each task. EventKit only offers basic sync functionality, nothing more and nothing less. This is why many third party apps choose to sync one-way from Reminders → their app, but that leads to a mediocre user experience.
By using CalDAV instead, 2Do has been able to sync task-level metadata across devices irrespective of the platform (iOS / macOS / Windows / Linux / Android). This has enabled it to work seamlessly with other known apps such as Outlook, BusyCal & Fantastical to name a few.