It appears that Joplin Desktop Pre-release v3.7.3 updates Joplin's internal data profile from v49 to v53. That means that once this pre-release version is run and it has converted your local data files to the latest internal profile version they will no longer work with v3.7.1, v3.6.15 or any other earlier version of Joplin.
Installing an older version of Joplin Desktop after your note data has been converted will create the below error:
Unknown profile version. Most likely this is an old version of Joplin, while the profile was created by a newer version. Please upgrade Joplin at https://joplinapp.org and try again.
In other words you cannot easily revert to an older version if you find you no longer wish to use the v3.7.3 pre-release. (see below)
Just for the information of those who like to beta test pre-releases on their "live" data
More importantly, the appMinVersion (minimum sync version) has been updated to 3.7, which means once you sync with 3.7.3 desktop, you won't be able to sync any other devices unless they are on a version of Joplin 3.7 (same applies with installing Android pre-release 3.7.2). If you use Joplin on any iOS devices, don't install the pre-release on desktop with your live data, as there isn't a 3.7 release available for iOS currently
Thanks for adding that. I have removed a paragraph from my previous post that has now been shown to be incorrect.
(my emphasis)
That's a serious change! Don't you think something as fundamental as this is worth warning about before the pre-release is published?
I only posted the above because it is very common after a profile change to get several support requests about getting a "Unknown profile version" error and I was hoping to minimise that.
A person could install the pre-release on one system and find their entire Joplin "ecosystem" FUBAR with with no way to revert without wiping all the client data AND all the sync target data and then applying a backup after reverting. That could involve a serious amount of work...
Yes it's certainly not ideal. The appMinVersion has been updated in the past though and there were not support requests from iOS users at the time as far as I'm aware, so maybe users that use Joplin on an iOS don't tend to use any Joplin prereleases on their live data. I'd agree there should be more visibility about a change like this though
But why would they need to revert? I run 3.7 on all my devices and have no problems. And if there's a bug we do our best to fix it as soon as possible as we want users to actually use the pre-releases.
And I would argue that a warning (where?) is not that useful because people don't read them. There's an expectation that if someone update one device they'll be willing to update another one, and we display a clear error message asking them to do so if there's some incompatibility.
Although it's true in this case there's no iOS version at the moment but there will be one soon
I rarely install pre-releases but I was going to do so this time on one of my machines as I believe that the broken markdown editor spellchecker may be working in this pre-release**. I would not have been happy to do that to find, without warning, it prevented all my other machines from syncing. I even tested it in a VM first but it was only @mrjo118's post that alerted me to the sync change. I would never have known. Even the help about dialog in v3.7.3 says the sync version is just "3" (Not that that is helpful after the installation)
I think a note at the top of the changelog when the sync version changes could make sense, whether its a pre-release or not (e.g. "The sync version has been increased, this means that after updating one Client to version x.x, you must also update other Clients in order to continue syncing those Clients"). The rationale for noting this is that user action needs to be taken in this scenario (the user needs to update other clients to the new version to continue syncing).
Though of course, that doesn't mean users will read the warning, source: I work in tech support
IMO warning about the profile version is probably less necessary, because downgrading should generally be a rare occurrence, and normally (outside of the rare case where a user needs to downgrade), no action needs to be taken related to the profile version being updated, so warning about that might just cause confusion.
Side note: I can confirm on my linux machine that spellcheck starts working after updating to 3.7.3
But also why would anyone install a pre-release that has warnings? We don't warn because there's always a way out: you can install the app on other devices; if you find a bug we can fix it quickly (because we appreciate that you help us test), etc.
And in fact, most commercial apps won't let you downgrade in general whether you like it or not, this is quite normal. We allow it though, as much as possible, but there are limits especially if allowing a downgrade can compromise sync (as it would for that note locking feature).
Also we don't have many ways to get people to help us test. If we start putting confusing and scary warnings about sync, the rare people who are willing to test will stop doing so as well. And everybody will lose because the day we'll release the final version then everybody will upgrade and will find more bugs than if the app had been tested by more people. Of course we have tons of automated tests but there are also edge cases, workflow and system-specific issues that we may not be aware of, and having testers help (and again, although it's an informal process, we do give them priority support).
For the sync version I think it could be worded in a way that is more informational rather than scary (e.g. my above example), more of a "by the way, make sure to update all clients at once because the sync version has been increased").
Regarding the profile version I agree there's probably no need to mention that (and I think doing so could cause confusion).
With any software, downgrading tends to be inherently problematic and should be avoided unless there's a really good reason to do so (the old version can't be aware of changes in the new version, so you should always err on the side of assuming that a direct downgrade might not work IMO).
FWIW, I exclusively use the pre-releases and rarely have issues. In terms of bugs, I find that it's actual beneficial to be on the latest version, because if you report a regression right after a new release its very likely to be quickly fixed, whereas a bug that gets reported like a year later is more likely to be thrown into the backlog pile (not specific to joplin)