Releases: getditto/DittoSwiftPackage
Releases · getditto/DittoSwiftPackage
2.0.1
2.0.1-experimental.xamarin.ios
- Synchronized version bump release
2.0.0
Version 2 is a major update with a lot of changed/removed APIs. See our 2.0 Migration Guide for discussion.
DittoSwift
- Note: peers running
2.0.0
are able to sync with peers running at least version1.1.8
of the SDK. - Added: support for explicitly typing values as registers. This is via 2 new types:
DittoRegister
andDittoMutableRegister
, and newregisterValue
value accessors added toDittoDocumentPath
andDittoMutableDocumentPath
. - Added:
DittoCounter
andDittoMutableCounter
types resembling the CRDT type underneath, which replace the old counter mechanics. A newcounter
value accessor has been added toDittoDocumentPath
andDittoMutableDocumentPath
, which returns aDittoCounter
or aDittoMutableCounter
respectively, if one is present at the document path specified. - Added: support for accessing and creating RGAs (Replicated Growable Arrays), which was the default CRDT type for arrays in Ditto v1. There are 2 new types:
DittoRGA
andDittoMutableRGA
in v2, and newrga
value accessors added toDittoDocumentPath
andDittoMutableDocumentPath
. Note that these are deprecated though and arrays should instead be used in registers (which is now the default). - Changed: arrays now default to being
Register
arrays. This means that when you want to update a property in a document that's an array you need to set the whole value as the new array. You can't perform mutating operations on an array in a document other than to fully replace it. - Added: value accessor properties have been added to
DittoDocumentID
:value
,string{Value}
,bool{Value}
,int{Value}
,uint{Value}
,float{Value}
,double{Value}
,array{Value}
,dictionary{Value}
. - Changed: the keys
DittoAccessLicense
andDittoLicenseToken
inInfo.plist
will now fail with a fatal error instead of logging a deprecation warning. Please use the keyDittoOfflineOnlyLicenseToken
instead. - Changed: renamed identity
onlinePlaygroundV2
to justonlinePlayground
, which replaces the previously deprecatedonlinePlayground
. - Changed: renamed
Ditto
methodtryStartSync()
to juststartSync()
, which replaces the previously deprecatedstartSync()
. - Removed: deprecated
DittoRemotePeerV2
propertymeshRole
, pleasequeryOverlapGroup
instead. - Removed: deprecated type
DittoPeersObserver
, please useDittoObserver
instead. - Removed: deprecated
DittoDocumentID
methodtoNative()
, please use propertyvalue
instead. - Removed: deprecated
DittoScopedWriteTransaction
methodfind(query:)
, please usefind()
instead. - Removed: deprecated
DittoScopedWriteTransaction
methodsinsert()
andinsertWithStrategy()
, please useupsert()
andupsertWithStrategy()
instead. - Removed: deprecated
DittoCollection
methodsinsert()
andinsertWithStrategy()
, please useupsert()
andupsertWithStrategy()
instead. - Removed: deprecated identities
development
andonline
, please use the available ones instead. - Removed: deprecated
Ditto
methodssetAccessLicense()
andsetLicenseToken()
, please usesetOfflineOnlyLicenseToken()
instead. - Removed: deprecated
Ditto
methodsetTransportConfig()
, please set thetransportConfig
property directly. - Removed: deprecated
DittoAuthenticator
methodisAuthenticated()
and propertyuserID
, please usestatus
instead. - Removed:
DittoWriteStrategy.overwrite
."
DittoObjC
- Note: peers running
2.0.0
are able to sync with peers running at least version1.1.8
of the SDK. - Added: support for explicitly typing values as registers. This is via 2 new types:
DITRegister
andDITMutableRegister
, and newlwwRegister
value accessors added toDITDocumentPath
andDITMutableDocumentPath
. - Added:
DITCounter
andDITMutableCounter
types resembling the CRDT type underneath, which replace the old counter mechanics. A newcounter
value accessor has been added toDITDocumentPath
andDITMutableDocumentPath
, which returns aDITCounter
or aDITMutableCounter
respectively, if one is present at the document path specified. - Added: support for accessing and creating RGAs (Replicated Growable Arrays), which was the default CRDT type for arrays in Ditto v1. There are 2 new types:
DITRGA
andDITMutableRGA
in v2, and newrga
value accessors added toDITDocumentPath
andDITMutableDocumentPath
. Note that these are deprecated though and arrays should instead be used in registers (which is now the default). - Changed: arrays now default to being
Register
arrays. This means that when you want to update a property in a document that's an array you need to set the whole value as the new array. You can't perform mutating operations on an array in a document other than to fully replace it. - Added: value accessor properties have been added to
DITDocumentID
:value
,string{Value}
,boolValue
,integer{Value}
,number{Value}
,array{Value}
,dictionary{Value}
. - Added:
DITIdentity
method variantsinitSharedKey:...
without thesiteID
parameter, leaving this up to Ditto to generate. - Changed:
DittoSignalNextBlock
has been renamed toDITSignalNextBlock
. - Changed: the keys
DittoAccessLicense
andDittoLicenseToken
inInfo.plist
will now throw an exception instead of logging a deprecation warning. Please use the keyDittoOfflineOnlyLicenseToken
instead. - Changed: renamed identity type
DittoOnlinePlaygroundV2Identity
to justDittoOnlinePlaygroundIdentity
, including the correspondingDITIdentity
initializers. This replaces the previously deprecated identity of typeDittoOnlinePlaygroundIdentity
, including he correspondingDITIdentity
initializers. - Changed: renamed method
DITDitto
methodtryStartSync:
to juststartSync:
which replaces the previously deprecatedDITDitto
methodstartSync
. - Removed: deprecated
DITRemotePeerV2
propertymeshRole
, please usequeryOverlapGroup
instead. - Removed: deprecated
DITDocumentID
methodtoNative
, please usevalue
instead. - Removed: all deprecated variants of
DITScopedWriteTransaction
methodinsert:...
, please use the correspondingupsert:...
variants instead. - Removed: all deprecated variants of
DITCollection
methodinsert:...
, please use the correspondingupsert:...
variants instead. - Removed: deprecated identities of type
DittoDevelopment-
and-OnlineIdentity
, including the correspondingDITIdentity
initializers. Please use the available ones instead. - Removed: deprecated
DITDitto
methodssetAccessLicense:
andsetLicenseToken:error:
, please usesetOfflineOnlyLicenseToken:error:
instead. - Removed: deprecated
DITDitto
getteractivated
, please use theactivated
property, or theisActivated
getter instead. - Removed: deprecated
DITAuthenticator
propertiesisAuthenticated
anduserID
, please usestatus
instead. - Removed:
DITWriteStrategyOverwrite
.
2.0.0-alpha1
This is a preview release of Ditto v2. Full changelog will be provided with the official release.
For details, see our 2.0 Migration Guide.
1.1.10
1.1.10-experimental.all-product-headers-yaml-issue.1
DittoSwift
- Fixed: 🚨 error: virtual filesystem overlay file '../all-product-headers.yaml' not found #5863
1.1.9
DittoSwift
- Changed: reduced CRDT memory overhead.
- Changed: HTTP/WebSocket service now allows any origin for CORS, so it may be used from a webapp on localhost.\n\n- Fixed: a peer using an online identity would fail to sync peer-to-peer after app restarts.
- Fixed:
DittoDelegate
methoddittoIdentityProviderAuthenticationRequest(ditto:request:)
would receive aDittoAuthenticationRequest
with some properties being incorrectly set tonil
.
DittoObjC
- Changed: reduced CRDT memory overhead.
- Changed: HTTP/WebSocket service now allows any origin for CORS, so it may be used from a webapp on localhost.
- Fixed: a peer using an online identity would fail to sync peer-to-peer after app restarts.
- Fixed:
DITDittoDelegate
methodditto:identityProviderAuthenticationRequest:
would receive aDITAuthenticationRequest
with some properties being incorrectly set tonil
.
1.1.9-alpha1
- 🚑 Hotfix to resolve signing issues