This update should only be breaking for mods that are subscribed to events. I invite you to join my discord if you have any issues.
Due to my work on other projects, a few features that were intended for this version will have to wait. This also means you can safely revert to this version if need be, without losing all of the following changes.
ConfigDescription to BindSyncedEntry.SyncInstance method (prefixed GUID + error when null passed).EventHandler to Action for nicer usage.
See the wiki on how to update.
Synced bool in SyncedConfig to slightly reduce payload size.
You can recreate this yourself with SyncComplete if desired.
SVector (2, 3 and 4)SQuaternionSColorio.github.CSync should work again.Metadata file.SyncRequested and SyncReceived events because why not.EnableHostSyncControl to let the host determine if clients can use their own config.
Documentation is provided for this method.
SyncReverted event and moved events to SyncedInstance.Unregister method - being public allowed this to be used maliciously by devs.
It also doesn't make sense to unregister, just don't register in the first place :P
BREAKING UPDATE
This version is not backwards compatible and mods are required to update!
Only update if you can be sure all of your mods use this version.
If you are a mod dev, please see the "Updating to v2.0.0" section of the wiki.
Changelog
SyncComplete event you can subscribe to..BindSyncedEntry() overloads to support ConfigDefinition and ConfigDescription arguments.CSync to Plugin to avoid confusion with the namespace.SyncInstance, the Synced bool is now set according to whether deserialization succeeds.SyncedEntry to fix an error when using the string type.ConfigEntry (named 'Entry') to enable compatibility with LethalConfig.SyncedConfig.SyncedEntry's.BoxedValue and SettingChanged from the underlying entry to SyncedEntry itself.SyncedEntry type parameter to a primitive value.SyncedInstance type parameter.SyncedConfig to prevent confusion with the wiki.[NonSerializable].Instance property from the CSync.cs file as it's not necessary.SyncedEntry - a serializable alternative to ConfigEntry.SyncedInstance that aids with syncing and reverting.ByteSerializer to serialize instances with DataContractSerializer.ConfigFile and FastBufferWriter.