SDK Download

Version 3.5.0 - Apr 20, 2017
We recommend you use our CDN to include the latest version.
or download the library directly
Download

Changelog

Want to see how the rest of your backend is evolving? Check out the timeline.

Our SDKs are now open source! If you'd like to contribute code, suggest improvements or just take a look at how things work, check out the source on github.

3.5.0
- Apr 20, 2017

  • Added: usePopupClass() as a static function to the User class for registering a popup class to be used for MIC authentication.
  • Added: operation property to results returned when pushing sync items to the backend. The property either be equal to Kinvey.SyncOperation.Create, Kinvey.SyncOperation.Update, or Kinvey.SyncOperation.Delete.
var store = Kinvey.DataStore.collection('books', Kinvey.DataStoreType.Sync);
var query = new Kinvey.Query().equalTo('title', 'Kinvey');
store.remove(query)
  .then(function(response) {
    // response.count contains the count of books removed matching the query
    return store.push();
  })
  .then(function(results) {
    // Results is an array of responses from the pushing the sync items.
    // Each result object now contains an operation set to Kinvey.SyncOperation.Delete
  })
  • Changed: restore() static function on the User class to throw an error whenever it is called. This function required the master secret for an application. We strongly advise not to do this in your application.
  • Changed: All toJSON() functions have now been replaced by toPlainObject(). The returned result is the exact same.
  • Changed: save(), create(), and update() on datastore instances to no longer accept an array of entities. See the example below to see how to save an array of entities.
var books = [{ name: 'book1' }, { name: 'book2' }];
var store = Kinvey.DataStore.collection('books');
var promises = [];

// Loop through each of the books and save them one by one.
// You can now reference a book easily in the event an error
// occurs when saving a book.
books.forEach(function(book) {
  var promise = store.save(book)
    .catch(function(error) {
      console.log('Error saving book ' + book.name);
    });
  promises.push(promise);
});

// Using a third party library wait for all the promises to complete
RSVP.Promise.all(promises)
  .then(function(books) {
    // ...
  });
  • Changed: remove() and removeById() on datastore instances to now return the count of entities removed and not the actual entity removed.
var store = Kinvey.DataStore.collection('books');

// Remove books using a query
var query = new Kinvey.Query().equalTo('title', 'Kinvey');
store.remove(query)
  .then(function(response) {
    // response.count contains the count of books removed matching the query
  });

// Remove a book using an id
store.removeById('1')
  .then(function(response) {
    // response.count will equal 1 if the book was removed or 0 if the book was not removed
  });
  • Removed: init() static function on Kinvey namespace. This was deprecated with v3.3.3.
  • Removed: baseUrl, protocol, and host properties on a client instance. These were deprecated with v3.0.0.
  • Removed: syncCount() and purge() on CacheStore and SyncStore instances. These were deprecated with v3.2.0.

3.4.5
- Apr 13, 2017

  • Share active user information with 1.x SDK. Just use version 3.4.5 to share active user information. No changes are needed to your 3.x application.
  • Use query to push a subset of sync entities to the backend. #120
  • Add more tests for query. #121
  • Allow multiple sync push operations to be in progress at the same time for difference collections.. Only one sync push operation is allowed to be in progress for the same collection. This fixes an issue caused with #117 that only allowed one sync push operation to be in progress regardless of the collection. #123

3.4.4
- Mar 27, 2017

  • Don't perform a sync push operation while one is already in progress. #117
  • Use tls: true by default when fetching files. #118
  • Catch a NotFoundError thrown when trying to store an active user in the cache. #119
  • Close IndexedDB connection before deleting database. This fixes an issue that prevented a user from being logged out on IE. #14

3.4.2
- Mar 16, 2017

  • Clone body of CacheRequest. #112
  • Add back es6-promise. #113
  • Add method to remove user by id. #114

3.4.1
- Feb 23, 2017

  • Correctly refresh MIC sessions. #104
  • Add missing error objects. #105
  • Fixed a bug that prevented files from being uploaded to GCS. #106
  • Add more unit tests for user logout. #110

3.4.0
- Feb 9, 2017

  • Refactor source to export all modules, expose Rack API, and to clean up code. #94 and #10
  • Remove password hash from stored user object. #102
  • Fix errors with using Kinvey.ACL on an entity that does not contain an _acl property. #103

3.3.5
- Jan 25, 2017

  • Add User.lookup() API to perform user discovery. #96
  • Fix a bug that causes any requests sent to the backend after updating a user to respond with a 401 status code. #101

3.3.4
- Jan 12, 2017

  • Prevent popup from being shown to allow an application to store 10mb of data with WebSQL when it hasn't stored more then 5mb of data. #7
  • Increase the size of a WebSQL database as needed. #8
  • Improved test coverage. #92
  • Fixed a bug that would produce a TypeError for a failed login or any network request that resulted in an InvalidCredentialsError #95

3.3.3
- Dec 16, 2016

  • Added error.kinveyRequestId as a property to error objects. This property is set to the X-Kinvey-Request-Id header value of a Kinvey API response. It is undefined by default. #84
  • Added a global get/set default timeout property on the client. The library sets the default timeout to a value of 60 seconds. You can change this value by passing a default timeout when you initialize the SDK. #85
Kinvey.initialize({
  appKey: '<appKey>',
  appSecret: '<appSecret>',
  defaultTimeout: 30000 // 30 seconds in ms
});
  • Delta fetch requests now works with queries. #83
  • Fixed a check with instanceof in Mobile Identity Connect that caused a TypeError to be thrown. #87
  • Entities will now be persisted when calling store.sync on a data store instance. #88
  • Fixed issues that caused inconsistencies with Error objects. #89
  • Sort, limit, and skip now work correctly when querying the local cache. #90

3.3.2
- Dec 3, 2016

  • Bugfix: Add missing semicolon in aggregation count function.
  • Enhancement: Update aggregation processing.

3.3.1
- Dec 2, 2016

  • Bugfix: Aggregations have been fixed. See Aggregation Guide to learn how to use aggregations.
  • Bugfix: user._socialIdentity properties returned from the network are no longer removed on a succesful login.
  • Bugfix: Fixed a typo in the NetworkStore.

3.3.0
- Nov 22, 2016

  • Enhancement: All error objects are exposed on the Kinvey namespace. See Troubleshooting Guide for more information.
  • Bugfix: Fix name property on Error objects.
  • Bugfix: Merge user._socialIdentity properties when using an identity to login a user with the response from a login request.
  • Bugfix: Do not disconnect identities on a user logout.
  • Bugfix: Support private browser mode for Chrome, Firefox, and Safari.
  • Deprecated: Kinvey.initialize should be used instead of Kinvey.init.
Kinvey.initialize({
  appKey: '<appKey>',
  appSecret: '<appSecret>'
})
  .then(function(activeUser) {
    // ...
  });

3.2.2
- Oct 26, 2016

  • Bugfix: Import UserStore from correct path. Kinvey.UserStore is now not undefined.
  • Bugfix: Add missing group function to data stores.

3.2.1
- Oct 7, 2016

  • Enhancement: Default apiHostname protocol to https: if one is not provided.
  • Bugfix: Make default timeout for network requests 10 seconds.
  • Bugfix: Prevent delta fetch from loading all entities when they are not needed.

3.2.0
- Sep 23, 2016

  • Bugfix: Fix a bug that prevented a popup from being opened when trying to login with Kinvey.User.loginWithMIC().

3.1.1
- Sep 21, 2016

  • Bugfix: Don't send a DELETE request to the backend when calling clear() on a CacheStore or SyncStore instance to clear the local cache.
  • Bugfix: Allow a the credentials for a user to be provided as an object to Kinvey.User.login().
  • Bugfix: Use { field: <value> } format when serializing a query that contains an equalTo expression.
  • Deprecated: forgotUsername(), verifyEmail(), and resetPassword() instance functions on the Kinvey.User class. You should now use the static version of each function.

3.1.0
- Sep 9, 2016

  • Bugfix: Fixed bug that prevented logout of a user.

3.0.3
- Aug 12, 2016

  • Bugfix: Send correct X-Kinvey-Device-Information header format.
  • Bugfix: Update the cache to represent the state of the backend correctly when a sync pull is performed.
  • Bugfix: Expose the Acl class on the Kinvey namespace.

3.0.2
- Aug 3, 2016

3.0.1
- Jul 29, 2016

  • API Change: Deprecated connectWithIdentity() function on the User class. Use connectIdentity() instead. Please refer to the Social Identities Guide on how to connect a user to social identities.
  • Bugfix: Fixed a bug that would cause DataStore errors when connecting a user to a social identity.

3.0.0
- Jul 11, 2016

  • API Change: To get an instance of DataStore you now have to call the collection() function instead of getInstance()
var store = Kinvey.DataStore.collection('myCollection');

3.0.0-beta.22
- Jul 10, 2016

  • Enhancement: Make Kinvey.Promise accessible as a property on the Kinvey namespace.

3.0.0-beta.21
- Jul 7, 2016

  • Bugfix: Store results from a pull in the cache.
  • Bugfix: Return server generated _id when creating entities.
  • Enhancement: Make file uploads resumable.

3.0.0-beta.20
- Jun 28, 2016

  • Bugfix: Use a promise polyfill to support browsers that don't have a native promise.
  • Bugfix: Don't throw an unexpected error when performing a find with a query on the CacheStore.
  • Bugfix: Fix an error with user logout.
  • Bugfix: Don't send an empty array back on sync completion.
  • Enhancment: Update IndexedDB, WebSQL, and Web Storage adapters.

3.0.0-beta.19
- Jun 13, 2016

  • Bugfix: Listen for loadstart event on popups to capture redirect when using MIC login for url that results in a 404.
  • Bugfix: Provide a way to change the MIC hostname.
  • Bugfix: Fix issues when downloading files.
  • Bugfix: Make resetPassword() on the User class a static function that does not require an active user.
  • Bugfix: Add try/catch block to MIC to catch errors when trying to access popup urls that are cross domain.
  • Bugfix: Don't use indexeddbshim as not all browsers support WebSQL (e.g., Firefox)

3.0.0-beta.18
- Jun 7, 2016

  • Bugfix: Improve error message when a sync failure occurs.
  • Bugfix: Check that a query is able to be run loccaly before it is processed.
  • Bugfix: Do not remove entity data when a sync failure occurs.
  • Bugfix: Add isEmailVerified() to the User class.

3.0.0-beta.17
- Apr 20, 2016

  • Fixed sync bug that prevented entities from being added to the sync table to be synced at a later time.

3.0.0-beta.12
- Mar 29, 2016

  • Added adapters for http, popup, and device.

3.0.0-beta.8
- Feb 24, 2016

  • Fixed a bug that caused the library to be exported incorrectly.

3.0.0-beta.7
- Feb 22, 2016

  • Fixed a bug that prevented a user from being able to login with Mobile Identity Connect.
  • Fixed a bug that prevented entities from being updated.

3.0.0-beta.6
- Feb 18, 2016

  • Fixed bug that would resolve promise when using incorrect credentials to login a user.
  • Fixed a bug that would remove entities locally on a device but not on the network.
  • Fixed a bug that would not allow items to be saved to the device locally.

3.0.0-beta.5
- Feb 17, 2016

  • Bug fixes.

3.0.0-beta.4
- Feb 1, 2016

  • Initial release.

Download Older Versions

We recommend using the latest version.

Version Download Date
3.5.0 Download Apr 20, 2017
3.4.5 Download Apr 13, 2017
3.4.4 Download Mar 27, 2017
3.4.2 Download Mar 16, 2017
3.4.1 Download Feb 23, 2017
3.4.0 Download Feb 9, 2017
3.3.5 Download Jan 25, 2017
3.3.4 Download Jan 12, 2017
3.3.3 Download Dec 16, 2016
3.3.2 Download Dec 3, 2016
3.3.1 Download Dec 2, 2016
3.3.0 Download Nov 22, 2016
3.2.2 Download Oct 26, 2016
3.2.1 Download Oct 7, 2016
3.2.0 Download Sep 23, 2016
3.1.1 Download Sep 21, 2016
3.1.0 Download Sep 9, 2016
3.0.3 Download Aug 12, 2016
3.0.2 Download Aug 3, 2016
3.0.1 Download Jul 29, 2016
3.0.0 Download Jul 11, 2016
3.0.0-beta.22 Download Jul 10, 2016
3.0.0-beta.21 Download Jul 7, 2016
3.0.0-beta.20 Download Jun 28, 2016
3.0.0-beta.19 Download Jun 13, 2016
3.0.0-beta.18 Download Jun 7, 2016
3.0.0-beta.17 Download Apr 20, 2016
3.0.0-beta.12 Download Mar 29, 2016
3.0.0-beta.8 Download Feb 24, 2016
3.0.0-beta.7 Download Feb 22, 2016
3.0.0-beta.6 Download Feb 18, 2016
3.0.0-beta.5 Download Feb 17, 2016
3.0.0-beta.4 Download Feb 1, 2016
Got a question?