Pre-release v2.3 is now available

Important :warning:

This release will ask you to upgrade your sync target. Once it is done, only apps version 2.3+ will be able to sync with it. So far the Android pre-release and Desktop app 2.3 are available as pre-releases, but iOS and CLI apps are not. So if you are frequently using these two apps, wait for them to be available before installing this release. Additional information here.

Your help with testing this sync target upgrade would be much appreciated though, perhaps with test data or if you only ever use the desktop and Android app you can give it a try (I've been using both for several days without any issue).

Why is it needed?

The goal of this sync target upgrade is to improve the E2EE usability. In particular:

  • It should now be easy to switch it off or on without having to read through the step by step documentation. You can no longer accidentally create duplicate master keys. Since it's easier to use, perhaps it could be enabled by default at a later date.

  • Previously it wasn't possible to tell if a sync target was encrypted or not without downloading most of the data, so in the meantime a new app could potentially send decrypted data to an encrypted sync target. This is no longer possible with the new version - if the sync target is encrypted, apps will only upload encrypted data.

  • The change is also necessary to make improvements to the E2EE system - in particular to allow managing keys, deleting old ones, etc. It will also make it easier to enable encryption for notebook sharing or when publishing a note with Joplin Cloud.


Thanks for all the hard work!

The takeaway as I understand it is this,

Don't upgrade* if you sync with iOS or cli because syncing will not work

* until those apps have been upgraded to at least v2.3

1 Like

So far, so good. I was previously having problems getting my Android clients to connect with encryption enabled. Now things seemed improved. With Windows desktop 2.3.3 connected to Joplin Cloud, when I turned on encryption I was presented with a Master Key password request that helpfully noted it was activating the most recent key of several. After sideloading Android 2.3.4 I was pleased to note the app accepted the encryption password for the latest key without a hitch. Alas, I had forgotten how long the desktop app would take to completely encrypt the database so it was still chugging away when I installed and tried to sync the Android client. Happily the Android app politely informed me that <desktop ID> had an exclusive lock on the database and I'd have to wait my turn for synchronization. Which is how I'd expect things to work. So I (provisionally) rate this upgrade a big success on the E2EE front. Thanks again to Laurent & co for their hard work.