Update: The Sync and Datastore SDK has been deprecated. Learn more here.
Today we're excited to announce the beta release of our Sync and Datastore API 3.0 for Android, iOS, and OS X. This release contains a bunch of new features for the Datastore API as well as a few updates to the Sync API.
New features for the Datastore API include:
- Additional datastore metadata:
title— An optional field for storing a user-friendly title for the datastore.
mtime— The last modified time for this datastore.
- Datastore size information:
size— The current size of this datastore in bytes.
recordCount— The total number of records in this datastore.
unsyncedChangesSize— The size in bytes of changes that will be queued for upload by the next call to sync.
- Record size information, calculated by summing the size of all values in all fields, plus the base size of an empty record itself.
- The ability to create datastores with meaningful local IDs like "settings". (The default datastore is a datastore with the ID "default.")
- Datastores, tables, records, and fields can now have longer IDs, up to 64 characters.
- Bug fixes to edge cases of syncing and conflict resolution.
There's also a preview of an upcoming feature: local datastores. This experimental feature allows you to use datastores in your app without requiring the user to log in to Dropbox first. Users can start using your app right away and can log in at any time to sync their data with Dropbox. This is just a preview so don't use it in production yet!
Version 3.0 also includes a couple updates to the Sync API:
- Configurable file-system cache size.
- Batching of multiple file-system operations for faster upload.
Android-specific updates include:
- Multiple account support (already exists for iOS and OS X).
- Background thread errors for DbxDatastoreStatus.
iOS- and OS X-specific updates include:
- More detailed DBDatastoreStatus and DBSyncStatus, including background thread errors.
This is a major release and contains some breaking changes so be sure to check out the changelog for full details. Since this is a beta release, there may be some bugs, but it's considered ready for general use (except the local datastores feature, which is not ready for production use yet).