SDK Setup Guides
...
Swift
Release Notes

Ditto v3 for Swift

swift ios updates version changelog



DittoSwift Version 3.0.11

Released: Thu Aug 10th 2023, 7:07 am
Improved
Changed: Improved clarity of error messages when data on disk cannot be read by this version following a downgrade from a newer version of Ditto. (#9267)
Improved
Changed: Print some internal errors in a more human-readable format. (#9495)

installation


DittoSwift Version 3.0.10

Released: Fri Jun 30th 2023, 8:25 pm
Fixed
Fixed: a potential crash if a document attachment was malformed (#9045)

installation


DittoSwift Version 3.0.9

Released: Wed Jun 14th, 2023, 8:23 am
Fixed
Fixed: a crash when using the

installation


DittoSwift Version 3.0.9-alpha1

Released: Mon May 22nd 2023, 4:34 pm
Improved
Synchronized version bump release

installation


DittoSwift Version 3.0.8

Released: Thu May 18th, 2023, 11:33 pm
Added
Added: dSYMs are now bundled inside the XCFramework to improve crash report symbolication.
Improved
Changed: The dSYMs directory has been removed from the root directory of the CocoaPods artifact since it's no longer required now that dSYMs are bundled inside XCFreameworks.

installation


DittoSwift Version 3.0.7

Released: Fri Apr 7th, 2023, 9:28 am
Fixed
Fixed: Resolved an issue with logging when the stdout is not available.

installation


DittoSwift Version 3.0.6

Released: Wed Mar 15, 2023, 6:00 pm
Fixed
Fixed: Issue where Ditto instance using
Fixed
Fixed: Potential crash on Windows and Linux from invoking

installation


DittoSwift Version 3.0.5

Released: Tue Feb 28, 2023, 9:31 pm
Improved
Changed: some threads spawned by the SDK no longer wait up to 30 seconds before being stopped.
Added
Changed: added more logging when a peer is unable to connect to another peer because of no overlapping supported protocol versions.
Fixed
Fixed: replication hanging under some circumstances, especially WebSocket connections to Big Peer
Fixed
Fixed: canceling subscriptions for queries with args would not work, the subscription would remain active indefinitely.
Fixed
Fixed: some memory leaks.

installation


DittoSwift Version 3.0.4

Released: Fri Jan 27, 2023, 4:10 pm
Improved
Changed: Slow or blocked write transactions now log hints showing the waiting and blocking transactions

installation


DittoSwift Version 3.0.3

Released: Thu Jan 26, 2023, 6:35 am
Fixed
Fixed: an issue that could cause Ditto to hang if more than 500 peers were encountered.

installation


DittoSwift Version 3.0.3-alpha2

Released: Mon Jan 23, 2023, 10:05 am
Fixed
Resolved an issue where presence evictions could deadlock on startup with large numbers of peers

installation


DittoSwift Version 3.0.2

Released: Fri Jan 20, 2023, 1:20 pm
Fixed
Fixed issue preventing clean Ditto shutdown

installation


DittoSwift Version 3.0.1

Released: Fri Jan 13, 2023, 6:57 pm
Added
Added: DiskUsage class which can be used to monitor disk usage.
Added
Added: diskUsage property to Ditto class for access to a DiskUsage instance.
Added
Added: diskUsagePublisher() method to Ditto class, returning a DiskUsagePublisher.
Added
Added: DiskUsageItem class which contains data about the space used by files in the Ditto working directory.
Improved
Changed: better readability of data sizes and durations in logs.

installation


DittoSwift Version 3.0.0

Released: Fri Dec 16, 2022, 5:38 am
Improved
Removed: the DittoRGA constructor. You cannot create new RGAs.
Improved
Removed: the deprecated DittoMutableRGA type. You cannot mutate existing RGAs.
Improved
Deprecated: DittoDocument.typed<Codable>(as:) method.
Improved
Deprecated: DittoMutableDocument.typed<Codable>(as:) method.
Improved
Deprecated: DittoTypedDocument<Decodable> class.
Improved
Deprecated: DittoCollection.upsert<Encodable>(_,writeStrategy:) method.
Improved
Deprecated: DittoPendingIDSpecificOperation.update<Codable>(using:) method.
Improved
Deprecated: DittoScopedWriteTransaction.upsert<Codable>(_,writeStrategy:) method.
Improved
Deprecated: DittoWriteTransactionPendingIDSpecificOperation.update<Codable>(using:) method.
Improved
Removed: 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 to subscribe() instead. See https://docs.ditto.live/ios/common/concepts/syncing-data#subscribe
Added
Added: class DittoPresence as entry point for all of presence functionality, accessible via the newly introduced presence property on the Ditto object.
Added
Added: struct DittoPresenceGraph and related sub-types DittoAddress, DittoConnection, DittoConnectionType, and DittoPeer.
Added
Added DittoPresence.GraphPublisher, replaces the now deprecated Ditto.RemotePeersPublisher. You can get a graph publisher via the graphPublisher() on the newly introduced DittoPresence (accessible via newly introduced presence property of Ditto).
Improved
Deprecated: methods observePeers() and observePeersV2() of Ditto, please use observe() of DittoPresence instead (accessible via newly introduced presence property of Ditto).
Improved
Deprecated: DITRemotePeer, replaced by DITPeer.
Improved
Deprecated: DITPeersObserver, replaced by DITObserver protocol.
Improved
Deprecated: DITPeersObserverV2, replaced by DITObserver protocol.
Improved
Deprecated: Ditto.RemotePeersPublisher and corresponding remotePeersPublisher() method on Ditto. Please use newly introduced DittoPresence.GraphPublisher and method graphPublisher() of DittoPresence instead.
Improved
Removed: all persistenceDirectory arguments from all of the identity type constructors.
Improved
Changed: performance improvements.
Added
Added: disableSyncWithV2 method to Ditto. This allows you to explicitly opt-in to disabling the ability to sync with Ditto peers running any version of the SDK in the v2 series of releases. Assuming this succeeds then this peer will only be able to sync with other peers using SDKs in the v3 series of releases. Note that this disabling of sync spreads to peers that sync with a peer that has disabled, or has (transitively) had disabled, syncing with v2 SDK peers.
Improved
Improved: reliability if app crashes occur while persisting authentication data.
Added
Added: statusPublisher() method to DittoAuthenticator.
Added
Added: DittoAuthenticator.StatusPublisher, a Combine publisher for DittoAuthenticationStatus change events.
Improved
Improved: log increased detail to help debug blocked write transactions.

installation


DittoSwift Version 3.0.0-alpha3

Released: Mon Dec 12, 2022, 5:19 am
Improved
Synchronized version bump release

installation


DittoSwift Version 3.0.0-alpha2

Released: Tue Dec 6, 2022, 8:01 am
Fixed
Fixed: Incorrect import of DITAddress.h header in DittoObjC, which was causing an issue in DittoSwift.
Improved
Improved: reliability if app crashes occur while persisting authentication data.

installation


DittoSwift Version 3.0.0-alpha1

Released: Thu Dec 1, 2022, 12:01 pm
Improved
Removed: the DittoRGA constructor. You cannot create new RGAs.
Improved
Removed: the deprecated DittoMutableRGA type. You cannot mutate existing RGAs.
Improved
Deprecated: DittoDocument.typed<Codable>(as:) method.
Improved
Deprecated: DittoMutableDocument.typed<Codable>(as:) method.
Improved
Deprecated: DittoTypedDocument<Decodable> class.
Improved
Deprecated: DittoCollection.upsert<Encodable>(_,writeStrategy:) method.
Improved
Deprecated: DittoPendingIDSpecificOperation.update<Codable>(using:) method.
Improved
Deprecated: DittoScopedWriteTransaction.upsert<Codable>(_,writeStrategy:) method.
Improved
Deprecated: DittoWriteTransactionPendingIDSpecificOperation.update<Codable>(using:) method.
Improved
Removed: 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 to subscribe() instead. See https://docs.ditto.live/ios/common/concepts/syncing-data#subscribe
Added
Added: class DittoPresence as entry point for all of presence functionality, accessible via the newly introduced presence property on the Ditto object.
Added
Added: struct DittoPresenceGraph and related sub-types DittoAddress, DittoConnection, DittoConnectionType, and DittoPeer.
Added
Added DittoPresence.GraphPublisher, replaces the now deprecated Ditto.RemotePeersPublisher. You can get a graph publisher via the graphPublisher() on the newly introduced DittoPresence (accessible via newly introduced presence property of Ditto).
Improved
Deprecated: methods observePeers() and observePeersV2() of Ditto, please use observe() of DittoPresence instead (accessible via newly introduced presence property of Ditto).
Improved
Deprecated: DITRemotePeer, replaced by DITPeer.
Improved
Deprecated: DITPeersObserver, replaced by DITObserver protocol.
Improved
Deprecated: DITPeersObserverV2, replaced by DITObserver protocol.
Improved
Deprecated: Ditto.RemotePeersPublisher and corresponding remotePeersPublisher() method on Ditto. Please use newly introduced DittoPresence.GraphPublisher and method graphPublisher() of DittoPresence instead.
Improved
Removed: all persistenceDirectory arguments from all of the identity type constructors.
Improved
Changed: performance improvements.
Added
Added disableSyncWithV2 method to Ditto. This allows you to explicitly opt-in to disabling the ability to sync with Ditto peers running any version of the SDK in the v2 series of releases. Assuming this succeeds then this peer will only be able to sync with other peers using SDKs in the v3 series of releases. Note that this disabling of sync spreads to peers that sync with a peer that has disabled, or has (transitively) had disabled, syncing with v2 SDK peers.

installation