Now that was embarassing, shortly after the public release of FocusGTD 3.1 I received reports of synching problems.
I received a couple of anonymized DB dumps, however, I could not replicate the problem.
Turns out that this problem goes away by OmniFocus cleaning up the database (which it is doing before creating an anonymized dump) which prevented me to experience it.
I finally managed to produce the problem with my own data by simply trying out all changes that I could think of (i.e. pure luck (TM)).
FIX: fixed parsing problem with newer 3.4 file format
IMPROVEMENT: sync log shows more sync details and hopefully better error messages
IMPROVEMENT: deleting the database will also reset the sync settings
FEATURE: support Omnifocus 3.4 new file format
As this problem affects many customers, I will try and get this release out faster than usual (i.e. I already targetted 50% of all customers right now and will raise it to 100% within today).
This problem made me reconsider my release strategy. Up until now I usually release the build to a small testers group, I then watch my bug reporting telemetry if something unforeseen shows up.
If nothing happens then typically a day after the tester release, I release it to 50% of all customers.
Again, I watch the telemetry for a day to see if anything unusual happens. Only then I release it to everyone.
As this specific problem did not result in hard crashes I wasn't aware that there was anything wrong with this version. Also I guess customers were thinking that the sync problems were a short term fluke and did not report problems right away, leaving me thinking that everything was ok.
So I will ponder whether the release process needs modification. If you have suggestions, please let me know by sending me an email to support at focusgtd.app.