All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added default Message Pack based event coding context.
- Connections no longer need to specify a coding context. It will use the Message Pack Context by default.
- Added
EventBus
, which acts likeSynced
, except it only allows to send messages, and won't persist any values. - Added
SyncedWriteRights
, which will
- Breaking Compatibility with 1.1.0: Changes to strings are now encoded into smaller changes, reducing the size of transmission. But this change makes it incompatible with 1.1.0 since the payloads transmitted have now changed.
- Breaking Compatibility with 1.1.0: Other changes in internals event encoding/decoding which make this version not compatible with 1.1.0. Please make sure that you upgrade all usages at the same time.
- Added projected value to
Synced
property wrapper, to access value change publisher - Exporting imports of Combine/OpenCombine
- Fixed compiler errors on non Apple Platforms
- Fixed UI update issues when using
Sync
- Fixed projected value of
SyncedObject
not being visible
- Added
valueChange
publisher toSynced
, to listen for changes to the value - Added getter for
connection
toSyncedObject
- Added support for getting a
SyncedObbject
from a parentSyncedObject
via dynamic member lookup - Added
SyncManager.reconnect
method to restard connection - Added
ReconnectionStrategy
in order to attempt to resume the session after being disconnected
- Breaking: Renamed
SyncedObject
protocol toSyncableObject
. To be consistent withObservableObject
- Breaking: Renamed
SyncedObservedObject
toSyncedObject
. To be consistent withObservedObject
- Breaking: Projected Value of
SyncedObject
is of type nowSyncedObject
- Breaking: Renamed
SyncableObject.manager
tosync
- Breaking: Renamed
SyncableObject.managerWithoutRetainingInMemory
tosyncWithoutRetainingInMemory
- Support for OpenCombine
- Improved handling of updates to array
- Initial Release