@JoPoV I didn’t set out to prove that you were incorrect in your description but rather to find out whether what I thought should happen actually does happen.
It is so often the case that a situation arises where taking snapshots as you go would help no end but by the time you realise that fact it is too late and transient problems are difficult to test because they are just that - transient.
What I reported and documented fits with my belief that DOPs from a later release are always ignored, except to read the DOP “header” i.e.
Sidecar = {
Date = "2024-07-18T17:08:26.7999682Z",
Software = "DxO PhotoLab 7.6",
Source = {
CafId = "C54817a",
Items = {
and/or “trailer”
}
,
Version = "18.6",
}
,
ShotDate = "2024-06-10T19:08:35.9200000+00:00",
ShouldProcess = 2,
Uuid = "710ADFE5-D9E4-403C-B273-B143A7815B04",
}
,
}
,
Uuid = "ABB8D485-4109-4A64-8C3D-3F4E9489B137",
}
,
Version = "18.1",
}
and decide that the DOP was not intended for that release and ignore it.
As @platypus has suggested if the Version fields above are adjusted then an earlier release can be “fooled” into at least reading the DOP contents from a later release.
The risk is that the later release may have new edit features (commands) which the earlier release will not recognise and will ignore (guessing) or existing commands that have changed in format or command response which could well and truly play havoc with the earlier release.
These tricks have their place but it is important to take dumps of the database frequently.
Arguably the biggest problem with testing a new release is the fact that the new DOPs are not really compatible with an earlier release which makes going back to a previous release problematic to say the least.
This is “easy” for the database (providing dumps are available) but the user is left with incompatible DOPs from the later release, unless copies have been taken of the DOPs prior to testing the new release. Effectively the DOPs are now a liability because they are incompatible with the database.
Possibly the better strategy is to copy the DOPs and remove them!
Open the old database and force the DOPs to be recreated from the database using the export command
If the later DOPs have not been removed before executing the DOP Sidecar Export command then the following warning will be issued
so there is a way of overwriting the later DOPs at this point and realigning the DOPs and content with the re-instated database.