baseplug
                                
                                
                                
                                    baseplug copied to clipboard
                            
                            
                            
                        versioned plugin state
currently, baseplug leans on serde Serialize + Deserialize to persist the model state as JSON. however, this means that if the model for a plugin changes, there are potential issues deserialising stored state. this translates into users' DAW sessions loading incorrectly.
in my internal framework (which is the primary inspiration for baseplug), I remedy this by serialising a "version" along with the model, which enables loading of old formats and "migrating" those to the current format. this means, of course, that plugin authors have to keep around old versions of their model, but that can be done in a different file, and then we can lean on From<OldModelVersion> for CurrentModelVersion for the "migration".
this is a blocking issue for 0.1.