How to downgrade from 3 to 2?

Operating system


Joplin version


What issue do you have?

I upgraded my iOS Joplin app to version 3, not realizing that joplin 3 is incompatible with version 2. Now, whenever I open Joplin on my linux or android devices, it says that it is impossible to sync and that I need to upgrade my apps to 3.0.0. Unfortunately, there is no android version on F-droid at this time, and there is not a linux version on flathub either. If there is an AppImage, I would prefer to just wait until a flatpak version is available.

Is it possible to "downgrade" to version 2 so that I can continue to access Joplin on Android and Linux?

I note that I am self hosting, if that makes any difference.

I made sure that all v3 official clients were released at the same time to avoid this problem, but it's true that there are unofficial clients that may lag behind. I would assume they should be updated soon though.

You wouldn't be able to downgrade without going through an export and reimport process, generally most the apps wouldn't be able to. The sync target itself is now fixed to client version 3, so you'd be implicitly forced to destroy and rebuild it.

I think the only package that likely has rollback functionality is the snap, which is 1) unofficial and 2) intended as a last resort rather than actively used functionality, because it will rollback your entire database along with any changes to it (needed given the database layouts change, but also implies a dataloss if you used the new version since). And then you'd still need to destroy your sync target for this specific update, since the target will be telling the app it should be V3.

Ultimately the only safe move that's convenient is to wait for the other packages to catch up.

If the Flatpak is the main blocker, you could use the pre-release in the PR to update it here:

I'd expect that this build would likely be what would go into the stable repository anyway, it's just waiting for approval.

I have hit the same problem, in my case the Google Play version updated first, so my Android 13 phone has updated the database, and my collection of Manjaro Linux and Windows devices were all locked out. The two windows installs are now updated and have synchronized OK, but they are not my main use devices, the Manjaro machines are main use, and I use the Flatpak repo.
It appears that whilst the databases are now incompatible, no attempt will be made by the V2 devices to synchronize, is this correct ?
This would mean that any test machine would need to be supplied with a V3 compatible version of my database in order to prove it.
Because I have working V3 Windows installs, presumably I could export via backup a version that is compatible, that could allow a test install of the Flatpak V3 to import the database without the risk of synchronization issues if the test device was isolated from the internet.
Is this a correct series of assumptions ?

Joplin is offline first so as long as you have one client with all of your data intact, you can back that up and always be able to set everything up again.

1 Like

Honestly, I'd personally encourage downloading the Flatpak beta. (Check this link for the bots instructions).

The beta is in reference to the packaging, not the software in it (it's still Joplins stable release).

But I'd heavily expect a higher chance of messup from manually messing around with exports and backups than using a release that would likely be promoted to the production repo without any changes. (You can still backup anyway in case the beta has a problem, the end result would be the same but you save time and effort).

Unfortunately, the automerge was disabled just 2 weeks ago, if this had still been enabled, the bot would have pushed this build automatically to stable already. (As it had done for about 3 years to this point). As it isn't, it's held on the package maintainer to get around to it.

Thank you james-carroll

Using the flatpak-beta method worked just fine.

For anyone following, I was using the instructions here:-

However, please be aware of three things.

  1. The flatpak commands therein require sudo i.e. read as # flatpak .....
  2. Flatpak doesn't seem to be very forthcoming with information about what it is doing, the addition of a -v option helps.
  3. The download doesn't install as beta but test (use "flatpak list" to see this in the Branch column), so my command to make version 3 current is :-
# sudo flatpak make-current net.cozic.joplin_desktop test -v

I assume that once the new version gets pushed to flatpack stable, all I need to do is issue the appropriate make-current command to switch back.