As much as I did not want to change 4.1 in any meaningful way at this stage of the beta, I felt like we were having an influx of users complaining of corruption in things that are saved to disk. I am not sure why this is happening now… 4.1 does not change the way in which we persist data, but SGPro 4 has made the sequences and profiles we save larger and with that, I think the probability of data corruption follows. In other words, the longer it takes to perform an action the higher the chance that it can fail due to other environmental circumstances (usually resource contention). The biggest problem is that the current persistence routines start by deleting the existing save files and writing a new one. If this fails, the last save file is already gone and you’re left with a corrupted version.
These new changes in 4.1 affect almost every single thing SGPro writes to disk. The new methodology is much safer and most failures, at worst, should only result in a failure to save the latest set of changes without corrupting the original source data. Upon success, we will then rename the temporary working file to the name of the desired file. This is a very fast process and, at no time, is SGPro without a mostly viable version of the data to use in case of emergency.
Apologies for the late changes, but we are going to go ahead and deem this change as necessary…