---
title: Ditto v1 for Swift
slug: v4-4/UvCC8vaPp82x1aSBvex4_
docTags: 
createdAt: 2023-08-22T18:46:30.481Z
---

`swift` `ios` `updates` `version` `changelog`&#x20;

***

# DittoSwift Version 1.1.11

:::Changelog{title="Released: Fri Sep 9, 2022, 4:11 pm"}
::ChangelogItem{type="fixed" description="Fixed: a very rare deadlock when starting sync immediately after creating the Ditto instance."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.11'
```
:::

# DittoSwift Version 1.1.10

:::Changelog{title="Released: Thu Jul 7, 2022, 12:53 pm"}
::ChangelogItem{type="improved" description="Changed: reduced total memory overhead during sync."}

::ChangelogItem{type="fixed" description="Fixed: private class inside the Ditto SDK was named CBOR and conflicted with a private Apple class named exactly the same, which produced a warning at launch time."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.10'
```
:::

# DittoSwift Version 1.1.9

:::Changelog{title="Released: Wed Jun 15, 2022, 6:27 pm"}
::ChangelogItem{type="improved" description="Changed: reduced CRDT memory overhead."}

::ChangelogItem{type="improved" description="Changed: HTTP/WebSocket service now allows any origin for CORS, so it may be used from a webapp on localhost."}

::ChangelogItem{type="fixed" description="Fixed: a peer using an online identity would fail to sync peer-to-peer after app restarts."}

::ChangelogItem{type="fixed" description="Fixed: DittoDelegate method dittoIdentityProviderAuthenticationRequest(ditto:request:) would receive a DittoAuthenticationRequest with some properties being incorrectly set to nil."}

::ChangelogItem{type="fixed" description="Fixed: DittoDelegate method dittoIdentityProviderAuthenticationRequest(ditto:request:) would receive a DittoAuthenticationRequest with some properties being incorrectly set to nil."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.9'
```
:::

# DittoSwift Version 1.1.9-alpha1

:::Changelog{title="Released: Wed Jun 8, 2022, 8:12 pm"}
::ChangelogItem{type="added" description="Synchronized version bump release"}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.9-alpha1'
```
:::

# DittoSwift Version 1.1.8

:::Changelog{title="Released: Fri Jun 3, 2022, 12:13 am"}
::ChangelogItem{type="fixed" description="Fixed: Ditto with onlinePlaygroundV2 identity would fail to sync with the Big Peer if internet access isn't available at the time when Ditto is instantiated."}

::ChangelogItem{type="fixed" description="Fixed: DittoSwift contained an invalid development signature."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.8'
```
:::

# DittoSwift Version 1.1.7

:::Changelog{title="Released: Fri May 13, 2022, 7:18 am"}
::ChangelogItem{type="added" description="Synchronized version bump release."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.7'
```
:::

# DittoSwift Version 1.1.6

:::Changelog{title="Released: Mon May 9, 2022, 5:04 am"}
::ChangelogItem{type="fixed" description="Fixed: a correctness issue in replication when peer permissions changed in the middle of a replication exchange."}

::ChangelogItem{type="fixed" description="Fixed: error when querying a collection and there was a type mismatch for a field being used in a comparison in the query."}

::ChangelogItem{type="fixed" description="Fixed: restarting an app too quickly could lead to multiple connection attempts to rejoin peers in the mesh."}

::ChangelogItem{type="fixed" description="Fixed: apps using OnlinePlaygroundV2 identities could experience a one minute delay before peer-to-peer sync occurs."}

::ChangelogItem{type="fixed" description="Fixed: cloud sync would stop working when setting a newly created transport config."}

::ChangelogItem{type="improved" description="Changed: Improvements to Ditto mesh performance via fastest-available-transport prioritization."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.6'
```
:::

# DittoSwift Version 1.1.5

:::Changelog{title="Released: Fri Apr 8, 2022, 1:00 am"}
::ChangelogItem{type="improved" description="Synchronized version bump release"}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.5'
```
:::

# DittoSwift Version 1.1.4

:::Changelog{title="Released: Thu Apr 7, 2022, 11:25 pm"}
::ChangelogItem{type="improved" description="Changed: improved replication performance in some scenarios."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.4'
```
:::

# DittoSwift Version 1.1.3

:::Changelog{title="Released: Tue Mar 22, 2022, 3:13 am"}
::ChangelogItem{type="added" description="Added: onlinePlaygroundV2 case to DittoIdentity allowing for basic authentication for playgrounds"}

::ChangelogItem{type="improved" description="Deprecated: onlinePlayground case of DittoIdentity, use newly added onlinePlaygroundV2 instead"}

::ChangelogItem{type="fixed" description="Fixed: sync issues due to inconsistent handling of app IDs across SDKs"}

::ChangelogItem{type="fixed" description="Fixed: document IDs are now validated when synced and removed if invalid (some of our early versions of the SDK stored malformed IDs under certain circumstances)"}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.3'
```
:::

# DittoSwift Version 1.1.2

:::Changelog{title="Released: Mon Feb 28, 2022, 6:36 am"}
::ChangelogItem{type="added" description="Added: property isReady to experimental DittoBusStream to check if a message may be enqueued."}

::ChangelogItem{type="added" description="Added: method setOfflineOnlyLicenseToken() to class Ditto as replacement for now deprecated setLicenseToken()."}

::ChangelogItem{type="improved" description="Changed: made DittoBusStream, DittoRemotePeerV2, and DittoAddress adopt Equatable and Hashable protocols."}

::ChangelogItem{type="improved" description="Changed: made DittoRemotePeerV2 adopt the Identifiable.protocol."}

::ChangelogItem{type="improved" description="Deprecated: method setLicenseToken() of class Ditto, use newly added setOfflineOnlyLicenseToken() instead."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.2'
```
:::

# DittoSwift Version 1.1.1

:::Changelog{title="Released: Fri Feb 11, 2022, 9:38 pm"}
::ChangelogItem{type="improved" description="Changed: Optimized the performance of accessing the value of a Document."}

::ChangelogItem{type="added" description="Added: Combine publisher APIs obviating the CombineDitto extension library"}

::ChangelogItem{type="added" description="Added: remotePeersPublisher() method to Ditto class"}

::ChangelogItem{type="added" description="Added: fetchAttachmentPublisher(attachmentToken:) method to DittoCollection class"}

::ChangelogItem{type="added" description="Added: liveQueryPublisher() method to DittoPendingCursorOperation class"}

::ChangelogItem{type="added" description="Added: singleDocumentLiveQueryPublisher() method to DittoPendingIDSpecificOperation class"}

::ChangelogItem{type="added" description="Added: Experimental Bus API"}

::ChangelogItem{type="added" description="Added: dittoBus(_, didReceiveSingleMessage:) method to DittoBusDelegate protocol"}

::ChangelogItem{type="added" description="Added: dittoBus(_, didReceiveIncomingStream:, fromPeer:) method to DittoBusDelegate protocol"}

::ChangelogItem{type="improved" description="Removed: dittoBus(_, didReceive:) method from `DittoBusDelegate protocol"}

::ChangelogItem{type="added" description="Added: Experimental mesh roles API"}

::ChangelogItem{type="added" description="Added: setMeshRole(meshRole:, ditto:) method to DittoExperimental class"}

::ChangelogItem{type="added" description="Added: setPriorityForMeshRole(_, forMeshRole:, ditto:) to DittoExperimental class"}

::ChangelogItem{type="fixed" description="Fixed: Improved AWDL reliability on iOS 12"}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.1'
```
:::

# DittoSwift Version 1.1.0

:::Changelog{title="Released: Fri Jan 28, 2022, 3:21 am"}
::ChangelogItem{type="improved" description="Changed: improved peer-to-peer algorithms to create meshes that are more efficient and diverse."}

::ChangelogItem{type="improved" description="Changed: improved routing algorithms for more efficiency."}

::ChangelogItem{type="improved" description="Changed: improved performance of query parsing."}

::ChangelogItem{type="added" description="Added: property isSyncActive to class Ditto."}

::ChangelogItem{type="added" description="Added: method logout() to class DittoAuthenticator."}

::ChangelogItem{type="added" description="Added: set of APIs to observe authentication status (see API reference for DittoAuthenticator and DittoAuthenticationDelegate)."}

::ChangelogItem{type="added" description="Added: method upsert() to classes DittoCollection and DittoScopedWriteTransaction (as a replacement for insert() & friends) which by default merges the newly inserted document if one with the same ID already exists."}

::ChangelogItem{type="improved" description="Deprecated: properties isAuthenticated and userID of class DittoAuthenticator in favor of newly introduced property status."}

::ChangelogItem{type="improved" description="Deprecated: methods insert() & frinds of classes DittoCollection and DittoScopedWriteTransaction in favor of newly introduced upsert()."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.1.0'
```
:::

# DittoSwift Version 1.0.19

:::Changelog{title="Released: Thu Dec 23, 2021, 12:42 pm"}
::ChangelogItem{type="fixed" description="Fixed: collections were not appearing in the data browser under certain permission configurations."}

::ChangelogItem{type="fixed" description="Fixed: race condition when subscriptions were configured from multiple threads in parallel (sometimes leading to a crash)."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.19'
```
:::

# DittoSwift Version 1.0.18

:::Changelog{title="Released: Mon Dec 20, 2021, 5:22 am"}
::ChangelogItem{type="improved" description="Fixed a number of Codable-related bugs. One of the more notable fixes involves Codable-conforming types from Foundation now working as you'd expect."}

::ChangelogItem{type="fixed" description="Fixed some small memory leaks."}

::ChangelogItem{type="improved" description="Reduced the opportunity for rapid memory growth in some scenarios."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.18'
```
:::

# DittoSwift Version 1.0.18-alpha2

:::Changelog{title="Released: Tue Dec 14, 2021, 8:32 am"}
::ChangelogItem{type="improved" description="Improve attachment sync performance."}

::ChangelogItem{type="fixed" description="Fix an issue where memory usage could grow very quickly when using a live query and performing lots of operations that led to a live query update."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.18-alpha2'
```
:::

# DittoSwift Version 1.0.18-alpha1

:::Changelog{title="Released: Wed Dec 8, 2021, 9:25 am"}
::ChangelogItem{type="fixed" description="Fixed an issue where document IDs that were specified inside the document's value as opposed to being specified explicitly (as a separate argument to insert) weren't being processed correctly, potentially leading to bugs with merge and overwrite behaviors."}

::ChangelogItem{type="added" description="macOS (including Apple Silicon) and iOS simulator (on an Apple Silicon device) support has been added."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.18-alpha1'
```
:::

# DittoSwift Version 1.0.17

:::Changelog{title="Released: Thu Nov 25, 2021, 4:11 pm"}
::ChangelogItem{type="added" description="Fix an issue with write strategies not working correctly. Unexpected results could occur when performing sequences of operations on documents."}

::ChangelogItem{type="fixed" description="Fix a bug with Codable-conforming enums that was causing a runtime error."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.17'
```
:::

# DittoSwift Version 1.0.16

:::Changelog{title="Released: Fri Nov 19, 2021, 2:39 pm"}
::ChangelogItem{type="fixed" description="Fix an issue with live queries that involved a limit, no offset, at least one document being deleted, and some other conditions being met. Live queries that met these conditions could report incorrect sets of matching documents."}

::ChangelogItem{type="fixed" description="Fix an issue that could potentially lead to an infinite loop in the replication system, meaning no sync progress would be made."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.16'
```
:::

# DittoSwift Version 1.0.15

:::Changelog{title="Released: Fri Nov 5, 2021, 3:03 pm"}
::ChangelogItem{type="improved" description="Ensure that when performing a sort that if a document that matches the filter specified via the accompanying find call doesn't have the key specified in the sort expression then it won't lead to an error. &#xA;&#xA;Now, if you're sorting in a descending order then the documents without the key specified in the sort will appear at the end of the set of results, after all of the documents that do have the key present. If you're sorting in an ascending order then the documents without the sort key will appear first in the set of documents, before all of the documents that do contain the sort key."}

::ChangelogItem{type="fixed" description="Fixed handling of large integers in documents. Integers larger than Int.max were still trying to be handled as Ints, leading to crashes. We now correctly handle them as UInts when appropriate."}

::ChangelogItem{type="added" description="Add the ability to directly set values inside the closure passed to an update call with assignments done via = sets, e.g. collection.findByID(&#x22;123&#x22;).update { $0![&#x22;color&#x22;] = &#x22;white&#x22; }"}

::ChangelogItem{type="fixed" description="Fix a bug where some transports related calls were not being run on the correct thread and so could lead to a crash."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.15'
```
:::

# DittoSwift Version 1.0.15-alpha1

:::Changelog{title="Released: Wed Oct 27, 2021, 3:33 am"}
::ChangelogItem{type="fixed" description="Fix a bug where large integers (greater than Int.max) would mistakenly try to get internally represented by an Int. They are now correctly represented using a UInt instead."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.15-alpha1'
```
:::

# DittoSwift Version 1.0.14

:::Changelog{title="Released: Mon Oct 25, 2021, 1:31 am"}
::ChangelogItem{type="added" description="Add support for array projections to DittoQL."}

::ChangelogItem{type="improved" description="Deprecate the online identity in favor of the new onlineWithAuthentication identity."}

::ChangelogItem{type="improved" description="Deprecate the development identity in favor of the new offlinePlayground identity."}

::ChangelogItem{type="added" description="Add an auth property to Ditto that provides access to a DittoAuthenticator when using an appropriate identity with your Ditto instance."}

::ChangelogItem{type="added" description="Add support for using a document ID that is an object that conforms to Codable."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.14'
```
:::

# DittoSwift Version 1.0.13

:::Changelog{title="Released: Mon Oct 18, 2021, 10:02 am"}
::ChangelogItem{type="improved" description="Synchronized version bump release"}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.13'
```
:::

# DittoSwift Version 1.0.12

:::Changelog{title="Released: Mon Oct 18, 2021, 3:00 am"}
::ChangelogItem{type="added" description="Added global section to TransportConfig allowing P2P sync to be contained within certain groups of devices by putting them in the same &#x22;sync group&#x22;."}

::ChangelogItem{type="fixed" description="Fixed Xcode warning regarding .swiftsourceinfo files being present."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.12'
```
:::

# DittoSwift Version 1.0.11

:::Changelog{title="Released: Thu Oct 7, 2021, 10:09 pm"}
::ChangelogItem{type="added" description="Added DittoWriteStrategy enum."}

::ChangelogItem{type="added" description="Added method insertWithStrategy() to DittoCollection, allowing to specify the behavior when inserting a document with an ID that matches the ID of a document already in the store."}

::ChangelogItem{type="fixed" description="Fixed AWDL peers never re-connecting after transport is toggled."}

::ChangelogItem{type="fixed" description="Fixed mDNS transport crash."}

::ChangelogItem{type="fixed" description="Fixed sporadic hangs and crashes when using Online identity."}

::ChangelogItem{type="added" description="Added isAuthenticated() method and userID property to DittoAuthenticator."}

::ChangelogItem{type="fixed" description="Fixed Codable support for non-string IDs and Float and Double types."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.11'
```
:::

# DittoSwift Version 1.0.10

:::Changelog{title="Released: Fri Sep 10, 2021, 9:21 am"}
::ChangelogItem{type="fixed" description="Fix to stop a change in site ID from leading to an unnecessary error."}

::ChangelogItem{type="improved" description="Improve handling of persisted authentication data. Note that this might lead to a one-off change to a peer's site ID if you weren't and continue to not be specifying an explicit site ID when creating your identity."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.10'
```
:::

# DittoSwift Version 1.0.9

:::Changelog{title="Released: Fri Sep 3, 2021, 3:38 pm"}
::ChangelogItem{type="added" description="Added support for getting information about all of the collections that the device is aware of. This is achieved by accessing collections() through the store object and then using the same sort of API used when getting documents in collections, i.e. exec/observe/etc."}

::ChangelogItem{type="added" description="Added multicast as a transport option to the LAN config part of TransportConfig."}

::ChangelogItem{type="added" description="Added new identity types: Online and OnlinePlayground. An Online identity should be used when running Ditto in secure production mode, logging on to Ditto Cloud, or using an on-premises authentication server. User permissions are centrally managed. Sync will not work until a successful login has occurred. An OnlinePlayground identity should be used when you want to test a Ditto Cloud app without authentication (&#x22;Playground mode&#x22;). This mode offers no security and must only be used for development."}

::ChangelogItem{type="improved" description="The Production identity has been renamed to Manual."}

::ChangelogItem{type="added" description="Added a DittoAuthenticator type, accessible via the Ditto object, which allows you to perform login operations when you're using an Online identity."}

::ChangelogItem{type="added" description="Similarly, added an DittoAuthenticationDelegate type that needs to be used when using an Online identity."}

::ChangelogItem{type="added" description="Report an error if more than one Ditto instance is started using the same working directory."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.9'
```
:::

# DittoSwift Version 1.0.8

:::Changelog{title="Released: Mon Aug 2, 2021, 9:19 am"}
::ChangelogItem{type="improved" description="Improved debug logging."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.8'
```
:::

# DittoSwift Version 1.0.7

:::Changelog{title="Released: Thu Jul 22, 2021, 4:38 pm"}
::ChangelogItem{type="fixed" description="Fix bug where sync may fail if an unusually long deviceName is configured"}

::ChangelogItem{type="fixed" description="Fix intermittent crash when Bluetooth L2CAP connections fail"}

::ChangelogItem{type="fixed" description="Fix intermittent crash when using the presence viewer component and the app is backgrounded"}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.7'
```
:::

# DittoSwift Version 1.0.6

:::Changelog{title="Released: Thu Jul 8, 2021, 11:22 am"}
::ChangelogItem{type="added" description="Add value accessor on DittoDocumentPath, DittoMutableDocumentPath, and DittoDocumentIDPath types to allow accessing a nested value in a document/ID as an Any?."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.6'
```
:::

# DittoSwift Version 1.0.5

:::Changelog{title="Released: Fri Jun 25, 2021, 3:36 pm"}
::ChangelogItem{type="added" description="Added a new find function that accepts a query containing placeholders in the form of $args.my_arg along with a map of query arguments in the form of { &#x22;my_arg&#x22;: &#x22;some value&#x22; }. The placeholders in the query will be replaced by a query-appropriate representation of the relevant value from the map of query arguments.&#xA;&#xA;For example, a query of color == $args.color with a query arguments map of { &#x22;color&#x22;: &#x22;red&#x22; } would internally be treated as a query of: color == &#x22;red&#x22;."}

::ChangelogItem{type="fixed" description="Added the ability to get a hash and/or a mnemonic (string) representation of the matching documents from a live query event. This means you can do something like this:&#xA;&#xA;let liveQuery = collection.findAll().observe() { docs, event in&#xA;    event.hash(docs); // e.g. `1950015808188223905`&#xA;    event.hashMnemonic(docs); // e.g. `locate-quality-tina--helena-remote-cat`&#xA;    // ...&#xA;}"}

::ChangelogItem{type="fixed" description="Fix for using floats in queries."}

::ChangelogItem{type="improved" description="Accessing the store property of a Ditto instance will no longer throw an error if you have not yet activated your Ditto instance with a valid license token."}

::ChangelogItem{type="improved" description="Deprecated setAccessLicense and added a new function, setLicenseToken, which will throw an appropriate error if your provided license token is expired or invalid somehow."}

::ChangelogItem{type="added" description="Deprecated startSync and added a new function, tryStartSync, which will throw an error if your Ditto instance hasn't yet been activated via a successful call to setLicenseToken."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.5'
```
:::

# DittoSwift Version 1.0.4

:::Changelog{title="Released: Fri Jun 11, 2021, 3:36 pm"}
::ChangelogItem{type="fixed" description="Fix issue with AWDL transport where it could end up in a stuck state."}

::ChangelogItem{type="improved" description="Deprecate the find(query:) function on DittoScopedWriteTransaction and add a new version of find(:) that doesn't require the query argument label. This makes this consistent with the find(:) function on DittoCollection."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.4'
```
:::

# DittoSwift Version 1.0.3

:::Changelog{title="Released: Thu Jun 10, 2021, 9:34 am"}
::ChangelogItem{type="added" description="Bluetooth sync performance improvements with L2CAP support added."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.3'
```
:::

# DittoSwift Version 1.0.2

:::Changelog{title="Released: Thu May 20, 2021, 2:39 pm"}
::ChangelogItem{type="added" description="Add support for subscripting DittoDocumentIDs in order to get nested values when a document ID is based on an array or a dictionary."}

::ChangelogItem{type="improved" description="Deprecated .toNative() on DittoDocumentID. You should use .value instead."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.2'
```
:::

# DittoSwift Version 1.0.1

:::Changelog{title="Released: Tue May 4, 2021, 9:02 am"}
::ChangelogItem{type="improved" description="If you provide an invalid query then you will now get a better error message."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.1'
```
:::

# DittoSwift Version 1.0.0

:::Changelog{title="Released: Wed Apr 21, 2021, 5:29 pm"}
::ChangelogItem{type="added" description="This release is not compatible with any previous SDK releases. There are a number of breaking changes both in terms of the SDK API and in terms of the internal systems used by the SDK to perform operations such as synchronization. If you have previously made use of the Ditto SDK and wish to update to this version then note that you will need to delete all existing Ditto data otherwise you will run into errors. If you have existing data that you need to keep then please contact us and we can advise you as to how you can migrate your data."}

::ChangelogItem{type="fixed" description="The most notable API breaking changes are:&#xA;&#xA;Document IDs are no longer restricted to just strings. You can now create a document ID that is a string, integer, boolean, array, map, or null. This means that when making findByID or insert calls you now need to provide a DittoDocumentID object rather than a string. Similarly, when you access a document's ID it will now return a DittoDocumentID object instead of a string.&#xA;&#xA;The start() and stop() functions on the Ditto object have been renamed to startSync() and stopSync() respectively. They now also don't accept any arguments. If you wish to specify which transports you would like the Ditto SDK to make use of (along with any configuration that they might require) you now need to use the setTransportConfig function on the Ditto object, and pass to that a transport config object. The default transports that will be enabled are still the same as they were in previous releases of the SDK though, so if you have no custom requirements then you can simply change your start() call to startSync()."}

::ChangelogItem{type="improved" description="Lots of performance improvements and bug fixes."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.0'
```
:::

# DittoSwift Version 1.0.0-alpha8

:::Changelog{title="Released: Fri Jan 22, 2021, 7:09 am"}
::ChangelogItem{type="fixed" description="Fixed a bug where mDNS advertising may continue after Ditto is stopped."}

::ChangelogItem{type="fixed" description="Fixed a hang that could occur creating an attachment fetcher while requesting many attachments at once."}

::ChangelogItem{type="fixed" description="Fixed sync failure when there are multiple overlapping subscriptions or live queries with the same query string for the same collection."}

::ChangelogItem{type="fixed" description="Fixed a potential crash and other sync failures that could occur under certain conditions."}
:::

:::CodeblockTabs
installation

```none
pod 'DittoSwift', '=1.0.0-alpha8'
```
:::

