SDK Setup Guides
...
Swift
Release Notes
Ditto v2 for Swift
swift ios updates version changelog
Released: Wed Nov 2nd 2022, 4:51 pm
Improved
Deprecated: observe() and observeWithNextSignal() methods of DittoPendingCollectionsOperation, DittoPendingCursorOperation and DittoPendingIDSpecificOperation. Please use the corresponding observeLocal(deliverOn:eventHandler:) and observeLocalWithNextSignal(deliverOn:eventHandler:) variants along with a separate call tosubscribe() instead.
Released: Thu Oct 27th 2022, 5:14 pm
Added
Installation: pod 'DittoSwift', '=2.0.8'
Released: Thu Sep 22nd 2022, 8:02 pm
Improved
Changed: New lock file ensures we have only 1 SDK instance per working dir
Fixed
Removed: Bitcode is no longer embedded in the Ditto SDK as use of this technology has been deprecated by Apple.
Fixed
Fixed: Swift package manifest is now updated on the
Fixed
Fixed: Reduced the amount of disk space used by sync metadata by up to 50% in some cases
Released: Thu Sep 15, 2022, 4:46 pm
Fixed
Fixed: Ensure Ditto internal auth client is shut down correctly when it's no longer needed
Fixed
Fixed: The SwiftPM .zip artifact included an unintended .swiftsourceinfo file which causes mismatched versions of the Swift toolchain to cause errors. CocoaPods artifacts were unaffected.
Released: Thu Sep 8, 2022, 3:20 pm
Fixed
Fixed: a very rare deadlock when starting sync immediately after creating the Ditto instance.
Released: Thu Sep 1, 2022, 11:31 am
Added
Synchronized version bump release
Released: Wed Aug 31, 2022, 10:20 am
Fixed
Fixed: rare crash due to a race condition within Ditto's Bluetooth subsystem.
Improved
Changed: presence data is no longer synced with the big peer.
Released: Fri Aug 26, 2022, 6:58 pm
Added
Added: method cancel() to DittoSubscription allowing explicit canceling of a subscription.
Fixed
Fixed: memory leak, observer objects returned by observeStatus() of DittoAuthenticator were never deallocated.
Fixed
Fixed: Reduced size of DittoSwift framework
Improved
Changed: performing an .exec() call, outside the scope of a store.write { } block, no longer tries to obtain a write transaction and instead uses a read transaction.
Released: Sat Aug 13, 2022, 9:57 pm
Added
Synchronized version bump release
Released: Wed Aug 3, 2022, 7:54 am
Improved
Note: peers running 2.0.0 are able to sync with peers running at least version 1.1.8 of the SDK.
Added
Added: support for explicitly typing values as registers. This is via 2 new types: DittoRegister and DittoMutableRegister, and new registerValue value accessors added to DittoDocumentPath and DittoMutableDocumentPath.
Added
Added: DittoCounter and DittoMutableCounter types resembling the CRDT type underneath, which replace the old counter mechanics. A new counter value accessor has been added to DittoDocumentPath and DittoMutableDocumentPath, which returns a DittoCounter or a DittoMutableCounter respectively, if one is present at the document path specified.
Added
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 and DittoMutableRGA in v2, and new rga value accessors added to DittoDocumentPath and DittoMutableDocumentPath. Note that these are deprecated though and arrays should instead be used in registers (which is now the default).
Improved
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
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}.
Improved
Changed: the keys DittoAccessLicense and DittoLicenseToken in Info.plist will now fail with a fatal error instead of logging a deprecation warning. Please use the key DittoOfflineOnlyLicenseToken instead.
Improved
Changed: renamed identity onlinePlaygroundV2 to just onlinePlayground, which replaces the previously deprecated onlinePlayground.
Improved
Changed: renamed Ditto method tryStartSync() to just startSync(), which replaces the previously deprecated startSync().
Improved
Removed: deprecated DittoRemotePeerV2 property meshRole, please queryOverlapGroup instead.
Improved
Removed: deprecated type DittoPeersObserver, please use DittoObserver instead.
Improved
Removed: deprecated DittoDocumentID method toNative(), please use property value instead.
Improved
Removed: deprecated DittoScopedWriteTransaction method find(query:), please use find() instead.
Improved
Removed: deprecated DittoScopedWriteTransaction methods insert() and insertWithStrategy(), please use upsert() and upsertWithStrategy() instead.
Improved
Removed: deprecated DittoCollection methods insert() and insertWithStrategy(), please use upsert() and upsertWithStrategy() instead.
Improved
Removed: deprecated identities development and online, please use the available ones instead.
Improved
Removed: deprecated Ditto methods setAccessLicense() and setLicenseToken(), please use setOfflineOnlyLicenseToken() instead.
Improved
Removed: deprecated Ditto method setTransportConfig(), please set the transportConfig property directly.
Improved
Removed: deprecated DittoAuthenticator method isAuthenticated() and property userID, please use status instead.
Improved
Removed: DittoWriteStrategy.overwrite.
Released: Wed Jul 20, 2022, 4:55 am
Added
This is a preview release of Ditto v2. Full changelog will be provided with the official release.
Updated 14 Mar 2024
Did this page help you?