
Changelog
Cocoa 1.0.0-alpha7
Released Mon Jan 4th 2021, 11:12 amDittoLogger
class added, which allows extra logging functionality throughsetCustomLogCallback
andsetLogFile
/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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha7'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha7'
Cocoa 1.0.0-alpha6
Released Tue Dec 15th 2020, 1:00 am- Performance and stability improvements.
- Fix default data insertion such that merge semantics are consistent and duplicate data isn't created.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha6'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha6'
Cocoa 1.0.0-alpha5
Released Sun Nov 22nd 2020, 9:17 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha5'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha5'
Cocoa 1.0.0-alpha4
Released Tue Nov 10th 2020, 11:27 am- Fix issue where attachments could stop being fetched incorrectly.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha4'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha4'
Cocoa 1.0.0-alpha3
Released Fri Nov 6th 2020, 11:50 am- 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
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha3'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha3'
Cocoa 1.0.0-alpha1
Released Fri Oct 9th 2020, 8:22 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha1'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha1'
Cocoa 0.4.0-alpha1
Released Tue Sep 29th 2020, 8:46 am- 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.
For Swift
pod 'DittoSyncKitSwift', '=0.4.0-alpha1'
For Objective-C
pod 'DittoSyncKit', '=0.4.0-alpha1'
Cocoa 0.3.5
Released Fri Sep 4th 2020, 7:36 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=0.3.5'
For Objective-C
pod 'DittoSyncKit', '=0.3.5'
Cocoa 0.3.4
Released Mon Aug 10th 2020, 2:31 pm- Fixed a bug with query compilation where integer literals in the query would lead to a query compilation failure.
For Swift
pod 'DittoSyncKitSwift', '=0.3.4'
For Objective-C
pod 'DittoSyncKit', '=0.3.4'
Cocoa 0.3.3
Released Tue Aug 4th 2020, 5:15 am- Improved LAN background sync for iOS apps
For Swift
pod 'DittoSyncKitSwift', '=0.3.3'
For Objective-C
pod 'DittoSyncKit', '=0.3.3'
Cocoa 0.3.2
Released Wed Jul 22nd 2020, 1:42 am- Fixes a memory leak in the Cocoa SDK when using findByID() to query documents.
For Swift
pod 'DittoSyncKitSwift', '=0.3.2'
For Objective-C
pod 'DittoSyncKit', '=0.3.2'
Cocoa 0.3.1
Released Thu Jul 16th 2020, 1:27 am- 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.
For Swift
pod 'DittoSyncKitSwift', '=0.3.1'
For Objective-C
pod 'DittoSyncKit', '=0.3.1'
Cocoa 1.0.0-alpha7
Released Mon Jan 4th 2021, 11:12 amDITLogger
class added, which allows extra logging functionality throughsetCustomLogCallback
andsetLogFile
/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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha7'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha7'
Cocoa 1.0.0-alpha6
Released Tue Dec 15th 2020, 1:00 am- Performance and stability improvements.
- Fix default data insertion such that merge semantics are consistent and duplicate data isn't created.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha6'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha6'
Cocoa 1.0.0-alpha5
Released Sun Nov 22nd 2020, 8:57 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha5'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha5'
Cocoa 1.0.0-alpha4
Released Tue Nov 10th 2020, 11:14 am- Fix issue where attachments could stop being fetched incorrectly.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha4'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha4'
Cocoa 1.0.0-alpha3
Released Wed Nov 4th 2020, 6:53 pm- 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
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha3'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha3'
Cocoa 1.0.0-alpha1
Released Fri Oct 9th 2020, 6:31 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha1'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha1'
Cocoa 1.0.0
Released Thu Apr 22nd 2021, 12:29 am- 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
orinsert
calls you now need to provide aDittoDocumentID
object rather than a string. Similarly, when you access a document's ID it will now return aDittoDocumentID
object instead of a string. - The
start()
andstop()
functions on theDitto
object have been renamed tostartSync()
andstopSync()
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 thesetTransportConfig
function on theDitto
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 yourstart()
call tostartSync()
.
- 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
- Lots of performance improvements and bug fixes.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0'
For Objective-C
pod 'DittoSyncKit', '=1.0.0'
Cocoa 1.0.0-alpha9
Released Fri Feb 5th 2021, 12:58 am- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha9'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha9'
Cocoa 1.0.0-alpha8
Released Fri Jan 22nd 2021, 3:09 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha8'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha8'
Cocoa 1.0.0
Released Thu Apr 22nd 2021, 12:29 am- 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
orinsert
calls you now need to provide aDITDocumentID
object rather than a string. Similarly, when you access a document's ID it will now return aDITDocumentID
object instead of a string. - The
start()
andstop()
functions on theDitto
object have been renamed tostartSync()
andstopSync()
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 thesetTransportConfig
function on theDitto
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 yourstart()
call tostartSync()
.
- 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
- Lots of performance improvements and bug fixes.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0'
For Objective-C
pod 'DittoSyncKit', '=1.0.0'
Cocoa 1.0.0-alpha9
Released Fri Feb 5th 2021, 12:58 am- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha9'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha9'
Cocoa 1.0.0-alpha8
Released Fri Jan 22nd 2021, 3:09 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=1.0.0-alpha8'
For Objective-C
pod 'DittoSyncKit', '=1.0.0-alpha8'
Cocoa 0.4.0-alpha1
Released Tue Sep 29th 2020, 8:18 am- 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.
For Swift
pod 'DittoSyncKitSwift', '=0.4.0-alpha1'
For Objective-C
pod 'DittoSyncKit', '=0.4.0-alpha1'
Cocoa 0.3.5
Released Fri Sep 4th 2020, 7:30 pm- 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.
For Swift
pod 'DittoSyncKitSwift', '=0.3.5'
For Objective-C
pod 'DittoSyncKit', '=0.3.5'
Cocoa 0.3.4
Released Mon Aug 10th 2020, 2:25 pm- Fixed a bug with query compilation where integer literals in the query would lead to a query compilation failure.
For Swift
pod 'DittoSyncKitSwift', '=0.3.4'
For Objective-C
pod 'DittoSyncKit', '=0.3.4'
Cocoa 0.3.3
Released Tue Aug 4th 2020, 5:05 am- Improved LAN background sync for iOS apps
For Swift
pod 'DittoSyncKitSwift', '=0.3.3'
For Objective-C
pod 'DittoSyncKit', '=0.3.3'
Cocoa 0.3.2
Released Wed Jul 22nd 2020, 1:31 am- Fixes a memory leak in the Cocoa SDK when using findByID() to query documents.
For Swift
pod 'DittoSyncKitSwift', '=0.3.2'
For Objective-C
pod 'DittoSyncKit', '=0.3.2'
Cocoa 0.3.1
Released Thu Jul 16th 2020, 1:16 am- 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.
For Swift
pod 'DittoSyncKitSwift', '=0.3.1'
For Objective-C
pod 'DittoSyncKit', '=0.3.1'
Cocoa 0.3.0
Released Thu Jun 4th 2020, 10:09 am- 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 theinsert
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
For Swift
pod 'DittoSyncKitSwift', '=0.3.0'
For Objective-C
pod 'DittoSyncKit', '=0.3.0'
Cocoa 0.2.2
Released Mon Feb 3rd 2020, 12:22 am- Faster Bluetooth sync between iOS devices when reopening app from background
For Swift
pod 'DittoSyncKitSwift', '=0.2.2'
For Objective-C
pod 'DittoSyncKit', '=0.2.2'
Cocoa 0.2.1
Released Thu Jan 9th 2020, 4:38 am- Fixes a crash that can occur when calling stop().
For Swift
pod 'DittoSyncKitSwift', '=0.2.1'
For Objective-C
pod 'DittoSyncKit', '=0.2.1'
Cocoa 0.2.0
Released Tue Dec 17th 2019, 11:51 am- 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.
For Swift
pod 'DittoSyncKitSwift', '=0.2.0'
For Objective-C
pod 'DittoSyncKit', '=0.2.0'
Cocoa 0.1.9
Released Mon Nov 25th 2019, 11:37 am- Fixed Bluetooth LE issue specific to older iOS devices (iPhone 6, iPad Mini 4) where sync can fail after the device is locked
For Swift
pod 'DittoSyncKitSwift', '=0.1.9'
For Objective-C
pod 'DittoSyncKit', '=0.1.9'
Cocoa 0.1.8
Released Thu Nov 14th 2019, 3:22 am- 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
For Swift
pod 'DittoSyncKitSwift', '=0.1.8'
For Objective-C
pod 'DittoSyncKit', '=0.1.8'
Cocoa 0.1.7
Released Tue Oct 29th 2019, 8:09 am- Various Bluetooth Low Energy related fixes to make Bluetooth-based communication more reliable.
- Accessing a collection using the
collection
function onDittoStore
is no longer a throwing call and thename
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
andqueriesHashMnemonic
toDittoStore
, 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.
For Swift
pod 'DittoSyncKitSwift', '=0.1.7'
For Objective-C
pod 'DittoSyncKit', '=0.1.7'
Cocoa 0.1.6
Released Tue Oct 15th 2019, 11:57 am- 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
For Swift
pod 'DittoSyncKitSwift', '=0.1.6'
For Objective-C
pod 'DittoSyncKit', '=0.1.6'
Cocoa 0.1.5
Released Sun Oct 13th 2019, 10:37 pm- 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
For Swift
pod 'DittoSyncKitSwift', '=0.1.5'
For Objective-C
pod 'DittoSyncKit', '=0.1.5'
Android 1.0.0-alpha7
Released Mon Jan 4th 2021, 11:12 am- Synchronized version bump release
implementation "live.ditto:dittosynckit:1.0.0-alpha7"
Android 1.0.0-alpha6
Released Tue Dec 15th 2020, 1:00 am- Performance and stability improvements.
- Fix default data insertion such that merge semantics are consistent and duplicate data isn't created.
implementation "live.ditto:dittosynckit:1.0.0-alpha6"
Android 1.0.0-alpha5
Released Mon Nov 23rd 2020, 4:43 am- 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.
implementation "live.ditto:dittosynckit:1.0.0-alpha5"
Android 1.0.0-alpha4
Released Mon Nov 9th 2020, 6:15 pm- Fix issue where attachments could stop being fetched incorrectly.
implementation "live.ditto:dittosynckit:1.0.0-alpha4"
Android 1.0.0-alpha3
Released Wed Nov 4th 2020, 7:46 am- Added new observeWithNextSignal API to allow the application to control the delivery of the next observe callback ev ent.
- Fixed several issues related to attachments that could delay sync.
- Simplified log statements
implementation "live.ditto:dittosynckit:1.0.0-alpha3"
Android 1.0.0-alpha2
Released Fri Oct 9th 2020, 9:04 pm- Decreases the file size of the AAR
implementation "live.ditto:dittosynckit:1.0.0-alpha2"
Android 1.0.0-alpha1
Released Thu Oct 8th 2020, 9:23 pm- 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.
implementation "live.ditto:dittosynckit:1.0.0-alpha1"
Android 0.4.0-alpha6
Released Fri Sep 25th 2020, 3:16 am- Fixed an issue where extensive writes can cause a session time-out
implementation "live.ditto:dittokit:0.4.0-alpha6"
Android 0.4.0-alpha5
Released Wed Sep 23rd 2020, 9:10 pm- Fixed finalizer logic with the following types:
DittoAttachment
DittoAttachmentFetcher
DittoKit
DittoLiveQuery
DittoSubscription
implementation "live.ditto:dittokit:0.4.0-alpha5"
Android 0.4.0-alpha4
Released Fri Sep 18th 2020, 2:12 am- Fixes an issue where deletes might not propagate correctly in a multi-hop mesh
implementation "live.ditto:dittokit:0.4.0-alpha4"
Android 0.4.0-alpha3
Released Fri Sep 11th 2020, 9:34 am- Fixed an error where presence data was failing to be deserialized properly.
implementation "live.ditto:dittokit:0.4.0-alpha3"
Android 0.4.0-alpha2
Released Thu Sep 10th 2020, 8:16 amFrom the 0.4.0-alpha1 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.
implementation "live.ditto:dittokit:0.4.0-alpha2"
Android 0.4.0-alpha1
Released Wed Sep 9th 2020, 9:42 pm- 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.
implementation "live.ditto:dittokit:0.4.0-alpha1"
Android 0.3.5
Released Fri Sep 4th 2020, 8:04 pm- 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.
implementation "live.ditto:dittokit:0.3.5"
Android 0.3.4
Released Mon Aug 10th 2020, 3:13 pm- Fixed a bug with query compilation where integer literals in the query would lead to a query compilation failure.
implementation "live.ditto:dittokit:0.3.4"
Android 0.3.3
Released Fri Aug 7th 2020, 3:31 am- Android-specific performance improvements for large collections
- Java: DittoDocument's "value" field has been replaced with "getValue()"
implementation "live.ditto:dittokit:0.3.3"
Android 0.3.2
Released Thu Jul 30th 2020, 5:32 am- Fixes bug where Android phones sometimes do not activate Bluetooth if it is enabled after launching the app
implementation "live.ditto:dittokit:0.3.2"
Android 0.3.1
Released Thu Jul 16th 2020, 1:36 am- Added a new LAN transport mode WiFiFixedPort to listen for connections on a known port.
- Android phones using the Bluetooth transport will no longer change their device name.
- 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.
implementation "live.ditto:dittokit:0.3.1"
Android 0.3.0
Released Thu Jun 4th 2020, 10:39 am- DittoKit 0.3 includes incompatible changes to data storage and networking - please uninstall all apps based on DittoKit 0.2 first
- Support for attaching large binary files to documents and syncing them on demand
- 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 theinsert
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
- Fixed crash when inserting large amounts of data into a document
- Faster sync performance
- Ability to connect to a peer at a known address using the Server transport type
implementation "live.ditto:dittokit:0.3.0"
Android 0.2.3
Released Tue May 5th 2020, 9:42 am- Fixed an issue where DittoKit would not work in 32-bit contexts.
implementation "live.ditto:dittokit:0.2.3"
Android 0.2.2
Released Fri Feb 14th 2020, 12:11 am- Reduced minimum Android SDK API level from 26 to 25 to support Android 7.1 devices.
implementation "live.ditto:dittokit:0.2.2"
Android 0.2.1
Released Thu Jan 9th 2020, 6:28 am- Fixes a crash that can occur when calling stop().
implementation "live.ditto:dittokit:0.2.1"
Android 0.2.0
Released Tue Dec 17th 2019, 4:49 pm- 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.
implementation "live.ditto:dittokit:0.2.0"
Android 0.1.3
Released Tue Oct 8th 2019, 12:37 pm- Improved handling of retrieving numeric fields from documents
- Fixes a bug where observe would not create a subscription
implementation "live.ditto:dittokit:0.1.3"
Android 1.0.0
Released Thu Apr 22nd 2021, 12:29 am- 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
orinsert
calls you now need to provide aDittoDocumentID
object rather than a string. Similarly, when you access a document's ID it will now return aDittoDocumentID
object instead of a string. - The
start()
andstop()
functions on theDitto
object have been renamed tostartSync()
andstopSync()
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 thesetTransportConfig
function on theDitto
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 yourstart()
call tostartSync()
.
- 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
- Lots of performance improvements and bug fixes.
implementation "live.ditto:dittosynckit:1.0.0"
Android 1.0.0-alpha9
Released Fri Feb 5th 2021, 12:58 am- 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.
implementation "live.ditto:dittosynckit:1.0.0-alpha9"
Android 1.0.0-alpha8
Released Fri Jan 22nd 2021, 3:09 pm- 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.
implementation "live.ditto:dittosynckit:1.0.0-alpha8"
Qt C++ for iOS 1.0.0-alpha7
Released Mon Jan 4th 2021, 11:12 am- Synchronized version bump release
Qt C++ for iOS 1.0.0-alpha6
Released Tue Dec 15th 2020, 1:00 am- Performance and stability improvements.
- Fix default data insertion such that merge semantics are consistent and duplicate data isn't created.
- Fixed a bug where documents containing attachments syncing to an instance of the C++ SDK could lead to a crash.
- Upgrade nlohmann json header from 3.7.0 to 3.9.1.
- Added
set_custom_log_cb
andset_log_file
method calls toLog
class to allow provision of a custom logging callback function, and a file path that logs should be directed to.
Qt C++ for iOS 1.0.0-alpha5
Released Mon Nov 23rd 2020, 9:22 pm- 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.
Qt C++ for iOS 0.1.0
Released Thu Dec 5th 2019, 4:36 pm- Initial release of the SDK
Qt C++ for iOS 1.0.0
Released Thu Apr 22nd 2021, 12:29 am- 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
find_by_id
orinsert
calls you now need to provide aDocumentId
object rather than a string. Similarly, when you access a document's ID it will now return aDocumentId
object instead of a string. - The
start()
andstop()
functions on theDitto
object have been renamed tostart_sync()
andstop_sync()
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 theset_transport_config
function on theDitto
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 yourstart()
call tostart_sync()
.
- 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
- Lots of performance improvements and bug fixes.
Qt C++ for iOS 1.0.0-alpha9
Released Fri Feb 5th 2021, 12:58 am- 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.
Qt C++ for iOS 1.0.0-alpha8
Released Fri Jan 22nd 2021, 3:09 pm- 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.
.NET (Windows and macOS) 1.0.0-alpha7
Released Mon Jan 4th 2021, 11:12 am- Synchronized version bump release
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha7
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha7" />
.NET (Windows and macOS) 1.0.0-alpha6
Released Tue Dec 15th 2020, 1:00 am- Performance and stability improvements.
- Fix default data insertion such that merge semantics are consistent and duplicate data isn't created.
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha6
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha6" />
.NET (Windows and macOS) 1.0.0-alpha5
Released Mon Nov 23rd 2020, 8:30 pm- 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.
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha5
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha5" />
.NET (Windows and macOS) 1.0.0-alpha4
Released Mon Nov 9th 2020, 6:02 pm- Fix issue where attachments could stop being fetched incorrectly.
- Introduce a
DittoLogger
class with various log-related functionality to make logging easier and more feature-rich.
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha4
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha4" />
.NET (Windows and macOS) 1.0.0-alpha3
Released Wed Nov 4th 2020, 8:48 am- Added new observeWithNextSignal API to allow the application to control the delivery of the next observe callback ev ent.
- Fixed several issues related to attachments that could delay sync.
- Simplified log statements
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha3
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha3" />
.NET (Windows and macOS) 1.0.0-alpha2
Released Wed Oct 14th 2020, 6:01 pmFixed several potential issues with attachment fetching that may result in the fetch callback not firing.
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha2
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha2" />
.NET (Windows and macOS) 1.0.0-alpha1
Released Fri Oct 9th 2020, 5:53 pm- 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 DittoSharp and the namespace has gone from DittoSharp to Ditto.SyncKit.
- Lots of performance improvements and some bug fixes.
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha1
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha1" />
.NET (Windows and macOS) 0.4.0-alpha5
Released Fri Sep 25th 2020, 4:21 am- Fixed an issue where extensive writes can cause a session time-out
Command Line
Install-Package DittoSharp -Version 0.4.0-alpha5
PackageReference
<PackageReference Include="DittoSharp" Version=0.4.0-alpha5" />
.NET (Windows and macOS) 0.4.0-alpha4
Released Fri Sep 18th 2020, 1:01 am- Fixes an issue where deletes might not propagate correctly in a multi-hop mesh
Command Line
Install-Package DittoSharp -Version 0.4.0-alpha4
PackageReference
<PackageReference Include="DittoSharp" Version=0.4.0-alpha4" />
.NET (Windows and macOS) 0.4.0-alpha3
Released Wed Sep 16th 2020, 11:24 pm- Fix disposal/clean-up of
DittoAttachmentFetcher
objects. - Add support for Linux 64-bit platforms.
Command Line
Install-Package DittoSharp -Version 0.4.0-alpha3
PackageReference
<PackageReference Include="DittoSharp" Version=0.4.0-alpha3" />
.NET (Windows and macOS) 0.4.0-alpha2
Released Fri Sep 11th 2020, 9:25 am- Fix a potential crash when working with attachments.
Command Line
Install-Package DittoSharp -Version 0.4.0-alpha2
PackageReference
<PackageReference Include="DittoSharp" Version=0.4.0-alpha2" />
.NET (Windows and macOS) 0.4.0-alpha1
Released Wed Sep 9th 2020, 9:18 pm- 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.
Command Line
Install-Package DittoSharp -Version 0.4.0-alpha1
PackageReference
<PackageReference Include="DittoSharp" Version=0.4.0-alpha1" />
.NET (Windows and macOS) 0.3.5-alpha1
Released Fri Sep 4th 2020, 8:25 pm- 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.
Command Line
Install-Package DittoSharp -Version 0.3.5-alpha1
PackageReference
<PackageReference Include="DittoSharp" Version=0.3.5-alpha1" />
.NET (Windows and macOS) 0.3.4-alpha1
Released Tue Aug 11th 2020, 7:45 am- Fixed a bug with query compilation where integer literals in the query would lead to a query compilation failure.
Command Line
Install-Package DittoSharp -Version 0.3.4-alpha1
PackageReference
<PackageReference Include="DittoSharp" Version=0.3.4-alpha1" />
.NET (Windows and macOS) 0.3.1-alpha1
Released Mon Jul 20th 2020, 9:11 pmCompatibility update for 0.3.1 releases.
Command Line
Install-Package DittoSharp -Version 0.3.1-alpha1
PackageReference
<PackageReference Include="DittoSharp" Version=0.3.1-alpha1" />
.NET (Windows and macOS) 0.1.1-alpha2
Released Mon Jul 20th 2020, 8:48 amFurther compatibility updates.
Command Line
Install-Package DittoSharp -Version 0.1.1-alpha2
PackageReference
<PackageReference Include="DittoSharp" Version=0.1.1-alpha2" />
.NET (Windows and macOS) 0.1.1-alpha1
Released Sat Jul 18th 2020, 3:38 pmCompatibility update.
Command Line
Install-Package DittoSharp -Version 0.1.1-alpha1
PackageReference
<PackageReference Include="DittoSharp" Version=0.1.1-alpha1" />
.NET (Windows and macOS) 0.1.0-alpha4
Released Tue Jun 30th 2020, 9:37 am- Added the licenses of the dependencies used by the SDK to the NuGet package
Command Line
Install-Package DittoSharp -Version 0.1.0-alpha4
PackageReference
<PackageReference Include="DittoSharp" Version=0.1.0-alpha4" />
.NET (Windows and macOS) 0.1.0-alpha3
Released Mon Jun 29th 2020, 9:04 pm- Sorted out the packaging so that installing the SDK doesn't require any extra actions after installation.
Command Line
Install-Package DittoSharp -Version 0.1.0-alpha3
PackageReference
<PackageReference Include="DittoSharp" Version=0.1.0-alpha3" />
.NET (Windows and macOS) 1.0.0
Released Thu Apr 22nd 2021, 12:29 am- 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
orinsert
calls you now need to provide aDittoDocumentID
object rather than a string. Similarly, when you access a document's ID it will now return aDittoDocumentID
object instead of a string. - The
Start()
andStop()
functions on theDitto
object have been renamed toStartSync()
andStopSync()
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 theSetTransportConfig
function on theDitto
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 yourStart()
call toStartSync()
.
- 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
- Lots of performance improvements and bug fixes.
Command Line
Install-Package DittoSharp -Version 1.0.0
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0" />
.NET (Windows and macOS) 1.0.0-alpha9
Released Fri Feb 5th 2021, 12:58 am- The exact version of the Ditto SDK can now be retrieved using the
ditto.SDKVersion
property. - 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.
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha9
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha9" />
.NET (Windows and macOS) 1.0.0-alpha8
Released Fri Jan 22nd 2021, 3:09 pm- 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.
Command Line
Install-Package DittoSharp -Version 1.0.0-alpha8
PackageReference
<PackageReference Include="DittoSharp" Version=1.0.0-alpha8" />