Skip to main content

Changelog

DittoSwift Version 1.0.17

Released: Fri Nov 26th 2021, 12:11 am

Release Notes:

  • Fix an issue with write strategies not working correctly. Unexpected results could occur when performing sequences of operations on documents.
  • Fix a bug with Codable-conforming enums that was causing a runtime error.

Installation:

pod 'DittoSwift', '=1.0.17'
API Reference URL

DittoSwift Version 1.0.16

Released: Fri Nov 19th 2021, 10:39 pm

Release Notes:

  • 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.
  • Fix an issue that could potentially lead to an infinite loop in the replication system, meaning no sync progress would be made.

Installation:

pod 'DittoSwift', '=1.0.16'
API Reference URL

DittoSwift Version 1.0.15

Released: Fri Nov 5th 2021, 10:03 pm

Release Notes:

  • 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. 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.
  • 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.
  • Add the ability to directly set values inside the closure passed to an update call with assignments done via = sets, e.g. collection.findByID("123").update { $0!["color"] = "white" }
  • Fix a bug where some transports related calls were not being run on the correct thread and so could lead to a crash.

Installation:

pod 'DittoSwift', '=1.0.15'
API Reference URL

DittoSwift Version 1.0.15-alpha1

Released: Wed Oct 27th 2021, 10:33 am

Release Notes:

  • 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.

Installation:

pod 'DittoSwift', '=1.0.15-alpha1'
API Reference URL

DittoSwift Version 1.0.14

Released: Mon Oct 25th 2021, 8:31 am

Release Notes:

  • Add support for array projections to DittoQL.
  • Deprecate the online identity in favor of the new onlineWithAuthentication identity.
  • Deprecate the development identity in favor of the new offlinePlayground identity.
  • Add an auth property to Ditto that provides access to a DittoAuthenticator when using an appropriate identity with your Ditto instance.
  • Add support for using a document ID that is an object that conforms to Codable.

Installation:

pod 'DittoSwift', '=1.0.14'
API Reference URL

DittoSwift Version 1.0.13

Released: Mon Oct 18th 2021, 5:02 pm

Release Notes:

  • Synchronized version bump release

Installation:

pod 'DittoSwift', '=1.0.13'
API Reference URL

DittoSwift Version 1.0.12

Released: Mon Oct 18th 2021, 10:00 am

Release Notes:

  • Added global section to TransportConfig allowing P2P sync to be contained within certain groups of devices by putting them in the same "sync group".
  • Fixed Xcode warning regarding .swiftsourceinfo files being present.

Installation:

pod 'DittoSwift', '=1.0.12'
API Reference URL

DittoSwift Version 1.0.11

Released: Fri Oct 8th 2021, 5:09 am

Release Notes:

  • Added DittoWriteStrategy enum.
  • 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.
  • Fixed AWDL peers never re-connecting after transport is toggled.
  • Fixed mDNS transport crash.
  • Fixed sporadic hangs and crashes when using Online identity.
  • Added isAuthenticated() method and userID property to DittoAuthenticator.
  • Fixed Codable support for non-string IDs and Float and Double types.

Installation:

pod 'DittoSwift', '=1.0.11'
API Reference URL

DittoSwift Version 1.0.10

Released: Fri Sep 10th 2021, 4:21 pm

Release Notes:

  • Fix to stop a change in site ID from leading to an unnecessary error.
  • 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.

Installation:

pod 'DittoSwift', '=1.0.10'
API Reference URL

DittoSwift Version 1.0.9

Released: Fri Sep 3rd 2021, 10:38 pm

Release Notes:

  • 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.
  • Added multicast as a transport option to the LAN config part of TransportConfig.
  • 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 ("Playground mode"). This mode offers no security and must only be used for development.
  • The Production identity has been renamed to Manual.
  • Added a DittoAuthenticator type, accessible via the Ditto object, which allows you to perform login operations when you're using an Online identity.
  • Similarly, added an DittoAuthenticationDelegate type that needs to be used when using an Online identity.
  • Report an error if more than one Ditto instance is started using the same working directory.

Installation:

pod 'DittoSwift', '=1.0.9'
API Reference URL

DittoSwift Version 1.0.8

Released: Mon Aug 2nd 2021, 4:19 pm

Release Notes:

  • Improved debug logging.

Installation:

pod 'DittoSwift', '=1.0.8'
API Reference URL

DittoSwift Version 1.0.7

Released: Thu Jul 22nd 2021, 11:38 pm

Release Notes:

  • Fix bug where sync may fail if an unusually long deviceName is configured
  • Fix intermittent crash when Bluetooth L2CAP connections fail
  • Fix intermittent crash when using the presence viewer component and the app is backgrounded

Installation:

pod 'DittoSwift', '=1.0.7'
API Reference URL

DittoSwift Version 1.0.6

Released: Thu Jul 8th 2021, 6:22 pm

Release Notes:

  • Add value accessor on DittoDocumentPath, DittoMutableDocumentPath, and DittoDocumentIDPath types to allow accessing a nested value in a document/ID as an Any?.

Installation:

pod 'DittoSwift', '=1.0.6'
API Reference URL

DittoSwift Version 1.0.5

Released: Fri Jun 25th 2021, 10:36 pm

Release Notes:

  • 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 { "my_arg": "some value" }. The placeholders in the query will be replaced by a query-appropriate representation of the relevant value from the map of query arguments.

    For example, a query of color == $args.color with a query arguments map of { "color": "red" } would internally be treated as a query of: color == "red".

  • 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:

    let liveQuery = collection.findAll().observe() { docs, event in
        event.hash(docs); // e.g. `1950015808188223905`
        event.hashMnemonic(docs); // e.g. `locate-quality-tina--helena-remote-cat`
        // ...
    }
    
  • Fix for using floats in queries.

  • 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.

  • Deprecated setAccessLicense and added a new function, setLicenseToken, which will throw an appropriate error if your provided license token is expired or invalid somehow.

  • 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.

Installation:

pod 'DittoSwift', '=1.0.5'
API Reference URL

DittoSwift Version 1.0.4

Released: Fri Jun 11th 2021, 10:36 pm

Release Notes:

  • Fix issue with AWDL transport where it could end up in a stuck state.
  • 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.

Installation:

pod 'DittoSwift', '=1.0.4'
API Reference URL

DittoSwift Version 1.0.3

Released: Thu Jun 10th 2021, 4:34 pm

Release Notes:

  • Bluetooth sync performance improvements with L2CAP support added.

Installation:

pod 'DittoSwift', '=1.0.3'
API Reference URL

DittoSwift Version 1.0.2

Released: Thu May 20th 2021, 9:39 pm

Release Notes:

  • Add support for subscripting DittoDocumentIDs in order to get nested values when a document ID is based on an array or a dictionary.
  • Deprecated .toNative() on DittoDocumentID. You should use .value instead.

Installation:

pod 'DittoSwift', '=1.0.2'
API Reference URL

DittoSwift Version 1.0.1

Released: Tue May 4th 2021, 4:02 pm

Release Notes:

  • If you provide an invalid query then you will now get a better error message.

Installation:

pod 'DittoSwift', '=1.0.1'
API Reference URL

DittoSwift Version 1.0.0

Released: Thu Apr 22nd 2021, 12:29 am

Release Notes:

  • 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.
  • The most notable API breaking changes are:
    • 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.
    • 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().
  • Lots of performance improvements and bug fixes.

Installation:

pod 'DittoSwift', '=1.0.0'
API Reference URL

DittoSwift Version 1.0.0-alpha9

Released: Fri Feb 5th 2021, 12:58 am

Release Notes:

  • Fixed a bug where mDNS advertising may continue after Ditto is stopped.
  • Fixed a hang that could occur creating an attachment fetcher while requesting many attachments at once.
  • Fixed sync failure when there are multiple overlapping subscriptions or live queries with the same query string for the same collection.
  • Fixed a potential crash and other sync failures that could occur under certain conditions.

Installation:

pod 'DittoSwift', '=1.0.0-alpha9'
API Reference URL

DittoSwift Version 1.0.0-alpha8

Released: Fri Jan 22nd 2021, 3:09 pm

Release Notes:

  • Site IDs, which make up part of a Ditto identity object, are now unsigned, 64-bit integers instead of unsigned 32-bit integers.
  • Fix a crash that could occur if an offset with a value greater than the number of matching documents was provided.
  • Fix a potential crash that would occur if a live query had stop called on it immediately after it was created.

Installation:

pod 'DittoSwift', '=1.0.0-alpha8'
API Reference URL

DittoSwift Version 1.0.17

Released: Fri Nov 26th 2021, 12:11 am

Release Notes:

  • Fix an issue with write strategies not working correctly. Unexpected results could occur when performing sequences of operations on documents.

Installation:

pod 'DittoObjC', '=1.0.17'
API Reference URL

DittoSwift Version 1.0.16

Released: Fri Nov 19th 2021, 10:39 pm

Release Notes:

  • 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.
  • Fix an issue that could potentially lead to an infinite loop in the replication system, meaning no sync progress would be made.

Installation:

pod 'DittoObjC', '=1.0.16'
API Reference URL

DittoSwift Version 1.0.15

Released: Fri Nov 5th 2021, 10:03 pm

Release Notes:

  • 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. 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.
  • Fix a bug where some transports related calls were not being run on the correct thread and so could lead to a crash.
  • Add an extra initializer for OnlinePlayground identities: initOnlinePlaygroundWithAppID:(NSString *)appID enableDittoCloudSync:(BOOL)enableDittoCloudSync

Installation:

pod 'DittoObjC', '=1.0.15'
API Reference URL

DittoSwift Version 1.0.15-alpha1

Released: Wed Oct 27th 2021, 10:33 am

Release Notes:

  • Synchronized version bump release

Installation:

pod 'DittoObjC', '=1.0.15-alpha1'
API Reference URL

DittoSwift Version 1.0.14

Released: Mon Oct 25th 2021, 8:31 am

Release Notes:

  • Add support for array projections to DittoQL.
  • Deprecate the Online identity in favor of the new OnlineWithAuthentication identity.
  • Deprecate the Development identity in favor of the new OfflinePlayground identity.

Installation:

pod 'DittoObjC', '=1.0.14'
API Reference URL

DittoSwift Version 1.0.13

Released: Mon Oct 18th 2021, 5:02 pm

Release Notes:

  • Synchronized version bump release

Installation:

pod 'DittoObjC', '=1.0.13'
API Reference URL

DittoSwift Version 1.0.12

Released: Mon Oct 18th 2021, 10:00 am

Release Notes:

  • Added global section to TransportConfig allowing P2P sync to be contained within certain groups of devices by putting them in the same "sync group".

Installation:

pod 'DittoObjC', '=1.0.12'
API Reference URL

DittoSwift Version 1.0.11

Released: Fri Oct 8th 2021, 5:09 am

Release Notes:

  • Fixed AWDL peers never re-connecting after transport is toggled.
  • Fixed mDNS transport crash.
  • Fixed sporadic hangs and crashes when using Online identity.
  • Added DITWriteStrategy enum.
  • Added methods -[Collection insert:writeStrategy:error] and -[Collection insert:withID:writeStrategy:error], allowing to specify the behavior when inserting a document with an ID that matches the ID of a document already in the store.
  • Added isAuthenticated and userID methods to DITAuthenticator.
  • Deprecated -[Collection insert:isDefault:error] and -[Collection insert:withID:isDefault:error] in favor of write strategy variants.

Installation:

pod 'DittoObjC', '=1.0.11'
API Reference URL

DittoSwift Version 1.0.10

Released: Fri Sep 10th 2021, 4:21 pm

Release Notes:

  • Fix for incorrectly included header.
  • Fix to stop a change in site ID from leading to an unnecessary error.
  • 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.

Installation:

pod 'DittoObjC', '=1.0.10'
API Reference URL

DittoSwift Version 1.0.9

Released: Fri Sep 3rd 2021, 10:38 pm

Release Notes:

  • 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.
  • Added multicast as a transport option to the LAN config part of TransportConfig.
  • 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 ("Playground mode"). This mode offers no security and must only be used for development.
  • The Production identity has been renamed to Manual.
  • Added a DITAuthenticator type, accessible via the Ditto object, which allows you to perform login operations when you're using an Online identity.
  • Similarly, added a DITAuthenticationDelegate type that needs to be used when using an Online identity.
  • Report an error if more than one Ditto instance is started using the same working directory.

Installation:

pod 'DittoObjC', '=1.0.9'
API Reference URL

DittoSwift Version 1.0.8

Released: Mon Aug 2nd 2021, 4:19 pm

Release Notes:

  • Improved debug logging.

Installation:

pod 'DittoObjC', '=1.0.8'
API Reference URL

DittoSwift Version 1.0.7

Released: Thu Jul 22nd 2021, 11:38 pm

Release Notes:

  • Fix bug where sync may fail if an unusually long deviceName is configured
  • Fix intermittent crash when Bluetooth L2CAP connections fail
  • Fix intermittent crash when using the presence viewer component and the app is backgrounded

Installation:

pod 'DittoObjC', '=1.0.7'
API Reference URL

DittoSwift Version 1.0.6

Released: Thu Jul 8th 2021, 6:22 pm

Release Notes:

  • Add value accessor on DITDocumentPath, DITMutableDocumentPath, and DITDocumentIDPath types to allow accessing a nested value in a document/ID as an id.

Installation:

pod 'DittoObjC', '=1.0.6'
API Reference URL

DittoSwift Version 1.0.5

Released: Fri Jun 25th 2021, 10:36 pm

Release Notes:

  • 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 { "my_arg": "some value" }. The placeholders in the query will be replaced by a query-appropriate representation of the relevant value from the map of query arguments.

    For example, a query of color == $args.color with a query arguments map of { "color": "red" } would internally be treated as a query of: color == "red".

  • 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:

    DITLiveQuery *liveQuery = [[collection findAll] observe:^(NSArray<DITDocument *> *docs, DITLiveQueryEvent *event)
        [event hash:docs]; // e.g. `1950015808188223905`
        [event hashMnemonic:docs]; // e.g. `locate-quality-tina--helena-remote-cat`
        // ...
    }];
    
  • Fix for using floats in queries.

  • 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.

  • Deprecated setAccessLicense and added a new function, setLicenseToken, which will set an error out param if your provided license token is expired or invalid somehow.

  • Deprecated startSync and added a new function, tryStartSync, which will set an error out param if your Ditto instance hasn't yet been activated via a successful call to setLicenseToken.

Installation:

pod 'DittoObjC', '=1.0.5'
API Reference URL

DittoSwift Version 1.0.4

Released: Fri Jun 11th 2021, 10:36 pm

Release Notes:

  • Fix issue with AWDL transport where it could end up in a stuck state.

Installation:

pod 'DittoObjC', '=1.0.4'
API Reference URL

DittoSwift Version 1.0.3

Released: Thu Jun 10th 2021, 4:34 pm

Release Notes:

  • Bluetooth sync performance improvements with L2CAP support added.

Installation:

pod 'DittoObjC', '=1.0.3'
API Reference URL

DittoSwift Version 1.0.2

Released: Thu May 20th 2021, 9:39 pm

Release Notes:

  • Add support for subscripting DITDocumentIDs in order to get nested values when a document ID is based on an array or a dictionary.
  • Deprecated .toNative() on DITDocumentID. You should use .value instead.

Installation:

pod 'DittoObjC', '=1.0.2'
API Reference URL

DittoSwift Version 1.0.1

Released: Tue May 4th 2021, 4:02 pm

Release Notes:

  • If you provide an invalid query then you will now get a better error message.

Installation:

pod 'DittoObjC', '=1.0.1'
API Reference URL

DittoSwift Version 1.0.0

Released: Thu Apr 22nd 2021, 12:29 am

Release Notes:

  • 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.
  • The most notable API breaking changes are:
    • 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 DITDocumentID object rather than a string. Similarly, when you access a document's ID it will now return a DITDocumentID object instead of a string.
    • 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().
  • Lots of performance improvements and bug fixes.

Installation:

pod 'DittoObjC', '=1.0.0'
API Reference URL

DittoSwift Version 1.0.0-alpha9

Released: Fri Feb 5th 2021, 12:58 am

Release Notes:

  • Fixed a bug where mDNS advertising may continue after Ditto is stopped.
  • Fixed a hang that could occur creating an attachment fetcher while requesting many attachments at once.
  • Fixed sync failure when there are multiple overlapping subscriptions or live queries with the same query string for the same collection.
  • Fixed a potential crash and other sync failures that could occur under certain conditions.

Installation:

pod 'DittoObjC', '=1.0.0-alpha9'
API Reference URL

DittoSwift Version 1.0.0-alpha8

Released: Fri Jan 22nd 2021, 3:09 pm

Release Notes:

  • Site IDs, which make up part of a Ditto identity object, are now unsigned, 64-bit integers instead of unsigned 32-bit integers.
  • Fix a crash that could occur if an offset with a value greater than the number of matching documents was provided.
  • Fix a potential crash that would occur if a live query had stop called on it immediately after it was created.

Installation:

pod 'DittoObjC', '=1.0.0-alpha8'
API Reference URL

DittoSwift Version 1.0.0-alpha7

Released: Mon Jan 4th 2021, 11:12 am

Release Notes:

  • DittoLogger class added, which allows extra logging functionality through setCustomLogCallback and setLogFile/setLogFileURL.
  • CFBundleShortVersionString in the framework's Info.plist now only contains alphanumeric characters, which should resolve any issues with submitting apps to TestFlight or the App Store.

Installation:

pod 'DittoSyncKitSwift', '=1.0.0-alpha7'
API Reference URL

DittoSwift Version 1.0.0-alpha6

Released: Tue Dec 15th 2020, 1:00 am

Release Notes:

  • Performance and stability improvements.
  • Fix default data insertion such that merge semantics are consistent and duplicate data isn't created.

Installation:

pod 'DittoSyncKitSwift', '=1.0.0-alpha6'
API Reference URL

DittoSwift Version 1.0.0-alpha5

Released: Sun Nov 22nd 2020, 9:17 pm

Release Notes:

  • Added a new intermediate security identity for a shared secret key. This is a simplistic authentication mode which is normally only suitable for private apps where all the users and devices are trusted.
  • Fixed an issue that prevented Counter values from syncing correctly
  • Renamed DittoAttachmentStatus to DittoAttachmentFetchEvent and subsequently Incomplete status to Progre ss.

Installation:

pod 'DittoSyncKitSwift', '=1.0.0-alpha5'
API Reference URL

DittoSwift Version 1.0.0-alpha4

Released: Tue Nov 10th 2020, 11:27 am

Release Notes:

  • Fix issue where attachments could stop being fetched incorrectly.

Installation:

pod 'DittoSyncKitSwift', '=1.0.0-alpha4'
API Reference URL

DittoSwift Version 1.0.0-alpha3

Released: Fri Nov 6th 2020, 11:50 am

Release Notes:

  • Added new observeWithNextSignal API to allow the application to control the delivery of the next observe callback event.
  • Fixed several issues related to attachments that could delay sync.
  • Simplified log statements

Installation:

pod 'DittoSyncKitSwift', '=1.0.0-alpha3'
API Reference URL

DittoSwift Version 1.0.0-alpha1

Released: Fri Oct 9th 2020, 8:22 pm

Release Notes:

  • Note that this is a release with breaking changes and clients using releases in the 1.0 series will not be able to communicate with clients running a version that is anything less than 1.0. This should hopefully not be an issue because this release of the SDK has changed the name to be DittoSyncKitSwift as opposed to DittoKitSwift.
  • Lots of performance improvements and some bug fixes.

Installation:

pod 'DittoSyncKitSwift', '=1.0.0-alpha1'
API Reference URL

DittoSwift Version 0.4.0-alpha1

Released: Tue Sep 29th 2020, 8:46 am

Release Notes:

  • Note that this is a release with breaking changes, even just in terms of clients running 0.4.0 not being able to communicate with clients running 0.3.X releases.
  • Fixes for memory leaks.
  • Performance improvements.

Installation:

pod 'DittoKitSwift', '=0.4.0-alpha1'
API Reference URL

DittoSwift Version 0.3.5

Released: Fri Sep 4th 2020, 7:36 pm

Release Notes:

  • Fixed an issue where inserting data as default data (setting the isDefault parameter to true) could lead to data that would not merge as expected.

Installation:

pod 'DittoKitSwift', '=0.3.5'
API Reference URL

DittoSwift Version 0.3.4

Released: Mon Aug 10th 2020, 2:31 pm

Release Notes:

  • Fixed a bug with query compilation where integer literals in the query would lead to a query compilation failure.

Installation:

pod 'DittoKitSwift', '=0.3.4'
API Reference URL

DittoSwift Version 0.3.3

Released: Tue Aug 4th 2020, 5:15 am

Release Notes:

  • Improved LAN background sync for iOS apps

Installation:

pod 'DittoKitSwift', '=0.3.3'
API Reference URL

DittoSwift Version 0.3.2

Released: Wed Jul 22nd 2020, 1:42 am

Release Notes:

  • Fixes a memory leak in the Cocoa SDK when using findByID() to query documents.

Installation:

pod 'DittoKitSwift', '=0.3.2'
API Reference URL

DittoSwift Version 0.3.1

Released: Thu Jul 16th 2020, 1:27 am

Release Notes:

  • Added a new LAN transport mode WiFiFixedPort to listen for connections on a known port.
  • DittoKit has a new sdkVersion property describing which build of DittoKit is installed. Please include this information in support requests.
  • Fixed bug where an attachment transfer may not resume after being interrupted.
  • Fixed bug where a long-lasting Bluetooth connection may spontaneously disconnect and reconnect.
  • Improvements to reconnection speed.

Installation:

pod 'DittoKitSwift', '=0.3.1'
API Reference URL

DittoSwift Version 1.0.0-alpha7

Released: Mon Jan 4th 2021, 11:12 am

Release Notes:

  • DITLogger class added, which allows extra logging functionality through setCustomLogCallback and setLogFile/setLogFileURL.
  • CFBundleShortVersionString in the framework's Info.plist now only contains alphanumeric characters, which should resolve any issues with submitting apps to TestFlight or the App Store.

Installation:

pod 'DittoSyncKit', '=1.0.0-alpha7'
API Reference URL

DittoSwift Version 1.0.0-alpha6

Released: Tue Dec 15th 2020, 1:00 am

Release Notes:

  • Performance and stability improvements.
  • Fix default data insertion such that merge semantics are consistent and duplicate data isn't created.

Installation:

pod 'DittoSyncKit', '=1.0.0-alpha6'
API Reference URL

DittoSwift Version 1.0.0-alpha5

Released: Sun Nov 22nd 2020, 8:57 pm

Release Notes:

  • Added a new intermediate security identity for a shared secret key. This is a simplistic authentication mode which is normally only suitable for private apps where all the users and devices are trusted.
  • Fixed an issue that prevented Counter values from syncing correctly
  • Renamed DittoAttachmentStatus to DittoAttachmentFetchEvent and subsequently Incomplete status to Progress.

Installation:

pod 'DittoSyncKit', '=1.0.0-alpha5'
API Reference URL

DittoSwift Version 1.0.0-alpha4

Released: Tue Nov 10th 2020, 11:14 am

Release Notes:

  • Fix issue where attachments could stop being fetched incorrectly.

Installation:

pod 'DittoSyncKit', '=1.0.0-alpha4'
API Reference URL

DittoSwift Version 1.0.0-alpha3

Released: Wed Nov 4th 2020, 6:53 pm

Release Notes:

  • Added new observeWithNextSignal API to allow the application to control the delivery of the next observe callback event.
  • Fixed several issues related to attachments that could delay sync.
  • Simplified log statements

Installation:

pod 'DittoSyncKit', '=1.0.0-alpha3'
API Reference URL

DittoSwift Version 1.0.0-alpha1

Released: Fri Oct 9th 2020, 6:31 pm

Release Notes:

  • Note that this is a release with breaking changes and clients using releases in the 1.0 series will not be able to communicate with clients running a version that is anything less than 1.0. This should hopefully not be an issue because this release of the SDK has changed the name to be DittoSyncKit as opposed to DittoKit.
  • Lots of performance improvements and some bug fixes.

Installation:

pod 'DittoSyncKit', '=1.0.0-alpha1'
API Reference URL

DittoSwift Version 0.4.0-alpha1

Released: Tue Sep 29th 2020, 8:18 am

Release Notes:

  • Note that this is a release with breaking changes, even just in terms of clients running 0.4.0 not being able to communicate with clients running 0.3.X releases.
  • Fixes for memory leaks.
  • Performance improvements.

Installation:

pod 'DittoKit', '=0.4.0-alpha1'
API Reference URL

DittoSwift Version 0.3.5

Released: Fri Sep 4th 2020, 7:30 pm

Release Notes:

  • Fixed an issue where inserting data as default data (setting the isDefault parameter to true) could lead to data that would not merge as expected.

Installation:

pod 'DittoKit', '=0.3.5'
API Reference URL

DittoSwift Version 0.3.4

Released: Mon Aug 10th 2020, 2:25 pm

Release Notes:

  • Fixed a bug with query compilation where integer literals in the query would lead to a query compilation failure.

Installation:

pod 'DittoKit', '=0.3.4'
API Reference URL

DittoSwift Version 0.3.3

Released: Tue Aug 4th 2020, 5:05 am

Release Notes:

  • Improved LAN background sync for iOS apps

Installation:

pod 'DittoKit', '=0.3.3'
API Reference URL

DittoSwift Version 0.3.2

Released: Wed Jul 22nd 2020, 1:31 am

Release Notes:

  • Fixes a memory leak in the Cocoa SDK when using findByID() to query documents.

Installation:

pod 'DittoKit', '=0.3.2'
API Reference URL

DittoSwift Version 0.3.1

Released: Thu Jul 16th 2020, 1:16 am

Release Notes:

  • Added a new LAN transport mode WiFiFixedPort to listen for connections on a known port.
  • DittoKit has a new sdkVersion property describing which build of DittoKit is installed. Please include this information in support requests.
  • Fixed bug where an attachment transfer may not resume after being interrupted.
  • Fixed bug where a long-lasting Bluetooth connection may spontaneously disconnect and reconnect.
  • Improvements to reconnection speed.

Installation:

pod 'DittoKit', '=0.3.1'
API Reference URL

DittoSwift Version 0.3.0

Released: Thu Jun 4th 2020, 10:09 am

Release Notes:

  • DittoKit 0.3 includes incompatible changes to data storage and networking - please uninstall all apps based on DittoKit 0.2 first
  • The CocoaPod “DittoKit” is now Objective-C. The Swift version is published as “DittoKitSwift”. To continue working with Ditto in Swift, update your Podfile and import statement
  • Support for attaching large binary files to documents and syncing them on demand
  • Many SDK functions no longer throw exceptions and the “try” operator is no longer needed
  • When creating documents you can no longer specify the id by providing an _id key. Instead you must specify an id as an extra argument to the insert function, if you want to explicitly set a document’s id
  • A document’s id property is now id rather than _id
  • The parameters for a live query callback have changed
  • The sort order for a query is now controlled by an ascending/descending enum
  • Faster sync performance
  • Ability to connect to a peer at a known address using the Server transport type
  • You can set your Ditto license key by configuring “DittoAccessLicense” in Info.plist

Installation:

pod 'DittoKit', '=0.3.0'
API Reference URL

DittoSwift Version 0.2.2

Released: Mon Feb 3rd 2020, 12:22 am

Release Notes:

  • Faster Bluetooth sync between iOS devices when reopening app from background

Installation:

pod 'DittoKit', '=0.2.2'
API Reference URL

DittoSwift Version 0.2.1

Released: Thu Jan 9th 2020, 4:38 am

Release Notes:

  • Fixes a crash that can occur when calling stop().

Installation:

pod 'DittoKit', '=0.2.1'
API Reference URL

DittoSwift Version 0.2.0

Released: Tue Dec 17th 2019, 11:51 am

Release Notes:

  • iOS: New function observePeers() to monitor connections to other Ditto devices
  • Improved query results performance
  • Fixed two bugs that could lead to a crash
  • Many networking improvements to speed up sync on iOS and Android

Note: SyncKit 0.2 is incompatible with version 0.1.

Installation:

pod 'DittoKit', '=0.2.0'
API Reference URL

DittoSwift Version 0.1.9

Released: Mon Nov 25th 2019, 11:37 am

Release Notes:

  • Fixed Bluetooth LE issue specific to older iOS devices (iPhone 6, iPad Mini 4) where sync can fail after the device is locked

Installation:

pod 'DittoKit', '=0.1.9'
API Reference URL

DittoSwift Version 0.1.8

Released: Thu Nov 14th 2019, 3:22 am

Release Notes:

  • Fixed Bluetooth Low Energy issue on iOS where sync may never complete, particularly with multiple devices
  • Cocoa SDK detects when WiFi is disabled
  • Significant performance improvements in synchronization processing

Installation:

pod 'DittoKit', '=0.1.8'
API Reference URL

DittoSwift Version 0.1.7

Released: Tue Oct 29th 2019, 8:09 am

Release Notes:

  • Various Bluetooth Low Energy related fixes to make Bluetooth-based communication more reliable.
  • Accessing a collection using the collection function on DittoStore is no longer a throwing call and the name parameter has been removed.
  • Accessing a collection can now be done by using a subscript on DittoStore, e.g. store["my-collection"].
  • Live query and transport condition updates are now delivered on the main queue by default. You can specify different queues to be used if required.
  • Adds queriesHash and queriesHashMnemonic to DittoStore, which allow you to get either a numberc hash or string-based mnemonic representation of a client's state in relation to the specified queries.
  • Fixes a DittoDocument-related memory leak.

Installation:

pod 'DittoKit', '=0.1.7'
API Reference URL

DittoSwift Version 0.1.6

Released: Tue Oct 15th 2019, 11:57 am

Release Notes:

  • The full SDK API is now usable from Objective-C. Some classes that couldn't be represented in Objective-C have counterparts with an ObjC suffix

Installation:

pod 'DittoKit', '=0.1.6'
API Reference URL

DittoSwift Version 0.1.5

Released: Sun Oct 13th 2019, 10:37 pm

Release Notes:

  • Improved handling of retrieving numeric fields from documents
  • mDNS/AWDL now correctly filters remote peers by app name
  • Single document update operation closures now have the document as an optional parameter

Installation:

pod 'DittoKit', '=0.1.5'
API Reference URL